From 14d9a253488b2636d803032bb4926050d7c5d0f8 Mon Sep 17 00:00:00 2001 From: Valentyn Kolesnikov Date: Thu, 9 Nov 2023 05:45:36 +0200 Subject: [PATCH 01/18] Version 1.0 --- build.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sbt b/build.sbt index d991295..6746593 100644 --- a/build.sbt +++ b/build.sbt @@ -6,7 +6,7 @@ lazy val root = (project in file(".")). scalaVersion := "2.13.8", version := "1.0" )), - name := "leetcode-scala", + name := "leetcode-in-scala", libraryDependencies += scalaTest % Test, libraryDependencies += scalacticTest % Test ) From bdbe0abb8124c5ec93d24a80ddbd2c26fe04c01d Mon Sep 17 00:00:00 2001 From: Valentyn Kolesnikov Date: Thu, 9 Nov 2023 06:02:42 +0200 Subject: [PATCH 02/18] Fixed compile warnings --- src/main/scala/g0001_0100/s0055_jump_game/Solution.scala | 2 +- src/main/scala/g0001_0100/s0072_edit_distance/Solution.scala | 2 +- .../s0295_find_median_from_data_stream/MedianFinder.scala | 3 +-- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/main/scala/g0001_0100/s0055_jump_game/Solution.scala b/src/main/scala/g0001_0100/s0055_jump_game/Solution.scala index a1623dd..ef8dcd3 100644 --- a/src/main/scala/g0001_0100/s0055_jump_game/Solution.scala +++ b/src/main/scala/g0001_0100/s0055_jump_game/Solution.scala @@ -6,7 +6,7 @@ package g0001_0100.s0055_jump_game object Solution { def canJump(nums: Array[Int]): Boolean = { - var sz = nums.length + val sz = nums.length // We set tmp to 1 so it won't break on the first iteration var tmp = 1 diff --git a/src/main/scala/g0001_0100/s0072_edit_distance/Solution.scala b/src/main/scala/g0001_0100/s0072_edit_distance/Solution.scala index 89ce42e..df8735e 100644 --- a/src/main/scala/g0001_0100/s0072_edit_distance/Solution.scala +++ b/src/main/scala/g0001_0100/s0072_edit_distance/Solution.scala @@ -14,7 +14,7 @@ object Solution { return minDistance(w2, w1) } - var dp = Array.range(0, n2 + 1) + val dp = Array.range(0, n2 + 1) for (j <- 0 to n2) { dp(j) = j diff --git a/src/main/scala/g0201_0300/s0295_find_median_from_data_stream/MedianFinder.scala b/src/main/scala/g0201_0300/s0295_find_median_from_data_stream/MedianFinder.scala index 73e8e14..c69cade 100644 --- a/src/main/scala/g0201_0300/s0295_find_median_from_data_stream/MedianFinder.scala +++ b/src/main/scala/g0201_0300/s0295_find_median_from_data_stream/MedianFinder.scala @@ -10,7 +10,7 @@ class MedianFinder() { private val maxHeap = mutable.PriorityQueue.empty[Int] private val minHeap = mutable.PriorityQueue.empty[Int](Ordering.Int.reverse) - def addNum(num: Int) { + def addNum(num: Int): Unit = { maxHeap += num minHeap += maxHeap.dequeue() @@ -24,7 +24,6 @@ class MedianFinder() { else (maxHeap.head + minHeap.head).toDouble / 2 } - } /* From 240deaa063783c01f76ed24e13da51f6c17e22e7 Mon Sep 17 00:00:00 2001 From: Valentyn Kolesnikov Date: Thu, 9 Nov 2023 06:30:31 +0200 Subject: [PATCH 03/18] Improved task 394 --- README.md | 6 +++--- .../scala/g0301_0400/s0394_decode_string/Solution.scala | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index e1cf194..9697eef 100644 --- a/README.md +++ b/README.md @@ -853,7 +853,7 @@ implementation 'com.github.javadev:leetcode-in-scala:1.0' | | | | | | |-|-|-|-|-|- -| 0394 |[Decode String](src/main/scala/g0301_0400/s0394_decode_string/Solution.scala)| Medium | Top_100_Liked_Questions, String, Stack, Recursion, Big_O_Time_O(n)_Space_O(n) | 476 | 10.00 +| 0394 |[Decode String](src/main/scala/g0301_0400/s0394_decode_string/Solution.scala)| Medium | Top_100_Liked_Questions, String, Stack, Recursion, Big_O_Time_O(n)_Space_O(n) | 449 | 50.00 #### Day 15 Heap @@ -1000,7 +1000,7 @@ implementation 'com.github.javadev:leetcode-in-scala:1.0' | 0003 |[Longest Substring Without Repeating Characters](src/main/scala/g0001_0100/s0003_longest_substring_without_repeating_characters/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(n)_Space_O(1) | 482 | 96.91 | 0020 |[Valid Parentheses](src/main/scala/g0001_0100/s0020_valid_parentheses/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, String, Stack, Big_O_Time_O(n)_Space_O(n) | 449 | 65.58 | 0005 |[Longest Palindromic Substring](src/main/scala/g0001_0100/s0005_longest_palindromic_substring/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) | 502 | 87.65 -| 0394 |[Decode String](src/main/scala/g0301_0400/s0394_decode_string/Solution.scala)| Medium | Top_100_Liked_Questions, String, Stack, Recursion, Big_O_Time_O(n)_Space_O(n) | 476 | 10.00 +| 0394 |[Decode String](src/main/scala/g0301_0400/s0394_decode_string/Solution.scala)| Medium | Top_100_Liked_Questions, String, Stack, Recursion, Big_O_Time_O(n)_Space_O(n) | 449 | 50.00 | 0049 |[Group Anagrams](src/main/scala/g0001_0100/s0049_group_anagrams/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, String, Hash_Table, Sorting, Big_O_Time_O(n\*k_log_k)_Space_O(n) | 618 | 91.67 #### Udemy Binary Search @@ -1442,7 +1442,7 @@ implementation 'com.github.javadev:leetcode-in-scala:1.0' | 0438 |[Find All Anagrams in a String](src/main/scala/g0401_0500/s0438_find_all_anagrams_in_a_string/Solution.scala)| Medium | Top_100_Liked_Questions, String, Hash_Table, Sliding_Window, Algorithm_II_Day_5_Sliding_Window, Programming_Skills_II_Day_12, Level_1_Day_12_Sliding_Window/Two_Pointer, Big_O_Time_O(n+m)_Space_O(1) | 576 | 100.00 | 0437 |[Path Sum III](src/main/scala/g0401_0500/s0437_path_sum_iii/Solution.scala)| Medium | Top_100_Liked_Questions, Depth_First_Search, Tree, Binary_Tree, Level_2_Day_7_Tree, Big_O_Time_O(n)_Space_O(n) | 498 | 90.91 | 0416 |[Partition Equal Subset Sum](src/main/scala/g0401_0500/s0416_partition_equal_subset_sum/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Level_2_Day_13_Dynamic_Programming, Big_O_Time_O(n\*sums)_Space_O(n\*sums) | 577 | 100.00 -| 0394 |[Decode String](src/main/scala/g0301_0400/s0394_decode_string/Solution.scala)| Medium | Top_100_Liked_Questions, String, Stack, Recursion, Level_1_Day_14_Stack, Udemy_Strings, Big_O_Time_O(n)_Space_O(n) | 476 | 10.00 +| 0394 |[Decode String](src/main/scala/g0301_0400/s0394_decode_string/Solution.scala)| Medium | Top_100_Liked_Questions, String, Stack, Recursion, Level_1_Day_14_Stack, Udemy_Strings, Big_O_Time_O(n)_Space_O(n) | 449 | 50.00 | 0347 |[Top K Frequent Elements](src/main/scala/g0301_0400/s0347_top_k_frequent_elements/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Sorting, Heap_Priority_Queue, Counting, Divide_and_Conquer, Quickselect, Bucket_Sort, Data_Structure_II_Day_20_Heap_Priority_Queue, Big_O_Time_O(n\*log(n))_Space_O(k) | 589 | 93.24 | 0338 |[Counting Bits](src/main/scala/g0301_0400/s0338_counting_bits/Solution.scala)| Easy | Top_100_Liked_Questions, Dynamic_Programming, Bit_Manipulation, Udemy_Bit_Manipulation, Big_O_Time_O(num)_Space_O(num) | 447 | 92.68 | 0322 |[Coin Change](src/main/scala/g0301_0400/s0322_coin_change/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Breadth_First_Search, Algorithm_II_Day_18_Dynamic_Programming, Dynamic_Programming_I_Day_20, Level_2_Day_12_Dynamic_Programming, Big_O_Time_O(m\*n)_Space_O(amount) | 533 | 84.21 diff --git a/src/main/scala/g0301_0400/s0394_decode_string/Solution.scala b/src/main/scala/g0301_0400/s0394_decode_string/Solution.scala index 0808b84..6148be3 100644 --- a/src/main/scala/g0301_0400/s0394_decode_string/Solution.scala +++ b/src/main/scala/g0301_0400/s0394_decode_string/Solution.scala @@ -1,7 +1,7 @@ package g0301_0400.s0394_decode_string // #Medium #Top_100_Liked_Questions #String #Stack #Recursion #Level_1_Day_14_Stack #Udemy_Strings -// #Big_O_Time_O(n)_Space_O(n) #2023_11_08_Time_476_ms_(10.00%)_Space_56.6_MB_(25.00%) +// #Big_O_Time_O(n)_Space_O(n) #2023_11_09_Time_449_ms_(50.00%)_Space_56.5_MB_(45.45%) object Solution { def decodeString(s: String): String = { From d1c9d09ae563939588658f59faa822b7d25b3a73 Mon Sep 17 00:00:00 2001 From: Valentyn Kolesnikov Date: Fri, 10 Nov 2023 05:17:09 +0200 Subject: [PATCH 04/18] Improved tasks 142, 239 --- .gitignore | 1 + .../scala/g0101_0200/s0142_linked_list_cycle_ii/Solution.scala | 2 +- .../g0201_0300/s0239_sliding_window_maximum/Solution.scala | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index a874735..02f17af 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ bin/ .settings build/ .gradle/ +.bsp/ \ No newline at end of file diff --git a/src/main/scala/g0101_0200/s0142_linked_list_cycle_ii/Solution.scala b/src/main/scala/g0101_0200/s0142_linked_list_cycle_ii/Solution.scala index 77cb91b..7dc69f8 100644 --- a/src/main/scala/g0101_0200/s0142_linked_list_cycle_ii/Solution.scala +++ b/src/main/scala/g0101_0200/s0142_linked_list_cycle_ii/Solution.scala @@ -41,4 +41,4 @@ object Solution { } } } -} \ No newline at end of file +} diff --git a/src/main/scala/g0201_0300/s0239_sliding_window_maximum/Solution.scala b/src/main/scala/g0201_0300/s0239_sliding_window_maximum/Solution.scala index e7c7858..d12a401 100644 --- a/src/main/scala/g0201_0300/s0239_sliding_window_maximum/Solution.scala +++ b/src/main/scala/g0201_0300/s0239_sliding_window_maximum/Solution.scala @@ -30,4 +30,4 @@ object Solution { }.toArray } } -} \ No newline at end of file +} From c12c8b1de87bc1eef6fa3926055f26f8c72947c0 Mon Sep 17 00:00:00 2001 From: Valentyn Kolesnikov Date: Sun, 3 Dec 2023 04:17:37 +0200 Subject: [PATCH 05/18] Updated readme --- README.md | 261 +++++++++++++++++++++++++++--------------------------- 1 file changed, 130 insertions(+), 131 deletions(-) diff --git a/README.md b/README.md index 9697eef..7eda914 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,6 @@ [![](https://img.shields.io/github/forks/LeetCode-in-Scala/LeetCode-in-Scala?style=flat-square)](https://github.com/LeetCode-in-Scala/LeetCode-in-Scala/fork) Scala-based LeetCode algorithm problem solutions, regularly updated. - ## Installation To configure your Maven project, add the following code to your pom.xml file: @@ -32,7 +31,6 @@ implementation 'com.github.javadev:leetcode-in-scala:1.0' > ["For coding interview preparation, LeetCode is one of the best online resource providing a rich library of more than 300 real coding interview questions for you to practice from using one of the 7 supported languages - C, C++, Java, Python, C#, JavaScript, Ruby."](https://www.quora.com/How-effective-is-Leetcode-for-preparing-for-technical-interviews) ## -* [Algorithm II](#algorithm-ii) * [Binary Search I](#binary-search-i) * [Binary Search II](#binary-search-ii) * [Dynamic Programming I](#dynamic-programming-i) @@ -46,135 +44,7 @@ implementation 'com.github.javadev:leetcode-in-scala:1.0' * [Data Structure I](#data-structure-i) * [Data Structure II](#data-structure-ii) * [Algorithm I](#algorithm-i) - -### Algorithm II - -#### Day 1 Binary Search - -| | | | | | -|-|-|-|-|-|- -| 0034 |[Find First and Last Position of Element in Sorted Array](src/main/scala/g0001_0100/s0034_find_first_and_last_position_of_element_in_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 478 | 97.85 -| 0033 |[Search in Rotated Sorted Array](src/main/scala/g0001_0100/s0033_search_in_rotated_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 453 | 91.53 -| 0074 |[Search a 2D Matrix](src/main/scala/g0001_0100/s0074_search_a_2d_matrix/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Matrix, Big_O_Time_O(endRow+endCol)_Space_O(1) | 478 | 83.33 - -#### Day 2 Binary Search - -| | | | | | -|-|-|-|-|-|- -| 0153 |[Find Minimum in Rotated Sorted Array](src/main/scala/g0101_0200/s0153_find_minimum_in_rotated_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Big_O_Time_O(log_N)_Space_O(log_N) | 457 | 78.79 - -#### Day 3 Two Pointers - -| | | | | | -|-|-|-|-|-|- -| 0015 |[3Sum](src/main/scala/g0001_0100/s0015_3sum/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Two_Pointers, Big_O_Time_O(n\*log(n))_Space_O(n^2) | 721 | 95.24 - -#### Day 4 Two Pointers - -| | | | | | -|-|-|-|-|-|- -| 0011 |[Container With Most Water](src/main/scala/g0001_0100/s0011_container_with_most_water/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Greedy, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 683 | 99.13 - -#### Day 5 Sliding Window - -| | | | | | -|-|-|-|-|-|- -| 0438 |[Find All Anagrams in a String](src/main/scala/g0401_0500/s0438_find_all_anagrams_in_a_string/Solution.scala)| Medium | Top_100_Liked_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(n+m)_Space_O(1) | 576 | 100.00 - -#### Day 6 Breadth First Search Depth First Search - -| | | | | | -|-|-|-|-|-|- -| 0200 |[Number of Islands](src/main/scala/g0101_0200/s0200_number_of_islands/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Depth_First_Search, Breadth_First_Search, Matrix, Union_Find, Big_O_Time_O(M\*N)_Space_O(M\*N) | 537 | 93.18 - -#### Day 7 Breadth First Search Depth First Search - -| | | | | | -|-|-|-|-|-|- - -#### Day 8 Breadth First Search Depth First Search - -| | | | | | -|-|-|-|-|-|- - -#### Day 9 Recursion Backtracking - -| | | | | | -|-|-|-|-|-|- -| 0078 |[Subsets](src/main/scala/g0001_0100/s0078_subsets/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Bit_Manipulation, Backtracking, Big_O_Time_O(2^n)_Space_O(n\*2^n) | 452 | 87.50 - -#### Day 10 Recursion Backtracking - -| | | | | | -|-|-|-|-|-|- -| 0039 |[Combination Sum](src/main/scala/g0001_0100/s0039_combination_sum/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Backtracking, Big_O_Time_O(2^n)_Space_O(n+2^n) | 488 | 97.50 - -#### Day 11 Recursion Backtracking - -| | | | | | -|-|-|-|-|-|- -| 0017 |[Letter Combinations of a Phone Number](src/main/scala/g0001_0100/s0017_letter_combinations_of_a_phone_number/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Backtracking, Big_O_Time_O(4^n)_Space_O(n) | 459 | 58.54 -| 0022 |[Generate Parentheses](src/main/scala/g0001_0100/s0022_generate_parentheses/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Backtracking, Big_O_Time_O(2^n)_Space_O(n) | 380 | 100.00 -| 0079 |[Word Search](src/main/scala/g0001_0100/s0079_word_search/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Matrix, Backtracking, Big_O_Time_O(4^(m\*n))_Space_O(m\*n) | 783 | 94.87 - -#### Day 12 Dynamic Programming - -| | | | | | -|-|-|-|-|-|- -| 0055 |[Jump Game](src/main/scala/g0001_0100/s0055_jump_game/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) | 622 | 88.31 - -#### Day 13 Dynamic Programming - -| | | | | | -|-|-|-|-|-|- -| 0045 |[Jump Game II](src/main/scala/g0001_0100/s0045_jump_game_ii/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) | 510 | 88.52 -| 0062 |[Unique Paths](src/main/scala/g0001_0100/s0062_unique_paths/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Combinatorics, Big_O_Time_O(m\*n)_Space_O(m\*n) | 405 | 70.18 - -#### Day 14 Dynamic Programming - -| | | | | | -|-|-|-|-|-|- -| 0005 |[Longest Palindromic Substring](src/main/scala/g0001_0100/s0005_longest_palindromic_substring/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) | 502 | 87.65 - -#### Day 15 Dynamic Programming - -| | | | | | -|-|-|-|-|-|- -| 0139 |[Word Break](src/main/scala/g0101_0200/s0139_word_break/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Dynamic_Programming, Trie, Memoization, Big_O_Time_O(M+max\*N)_Space_O(M+N+max) | 482 | 66.67 - -#### Day 16 Dynamic Programming - -| | | | | | -|-|-|-|-|-|- -| 0300 |[Longest Increasing Subsequence](src/main/scala/g0201_0300/s0300_longest_increasing_subsequence/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Binary_Search, Big_O_Time_O(n\*log_n)_Space_O(n) | 522 | 88.89 - -#### Day 17 Dynamic Programming - -| | | | | | -|-|-|-|-|-|- -| 1143 |[Longest Common Subsequence](src/main/scala/g1101_1200/s1143_longest_common_subsequence/Solution.scala)| Medium | Top_100_Liked_Questions, String, Dynamic_Programming, Big_O_Time_O(n\*m)_Space_O(n\*m) | 507 | 100.00 - -#### Day 18 Dynamic Programming - -| | | | | | -|-|-|-|-|-|- -| 0072 |[Edit Distance](src/main/scala/g0001_0100/s0072_edit_distance/Solution.scala)| Hard | Top_100_Liked_Questions, String, Dynamic_Programming, Big_O_Time_O(n^2)_Space_O(n2) | 487 | 100.00 -| 0322 |[Coin Change](src/main/scala/g0301_0400/s0322_coin_change/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Breadth_First_Search, Big_O_Time_O(m\*n)_Space_O(amount) | 533 | 84.21 - -#### Day 19 Bit Manipulation - -| | | | | | -|-|-|-|-|-|- - -#### Day 20 Others - -| | | | | | -|-|-|-|-|-|- - -#### Day 21 Others - -| | | | | | -|-|-|-|-|-|- +* [Algorithm II](#algorithm-ii) ### Binary Search I @@ -1428,6 +1298,135 @@ implementation 'com.github.javadev:leetcode-in-scala:1.0' |-|-|-|-|-|- | 0136 |[Single Number](src/main/scala/g0101_0200/s0136_single_number/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Bit_Manipulation, Big_O_Time_O(N)_Space_O(1) | 530 | 78.57 +### Algorithm II + +#### Day 1 Binary Search + +| | | | | | +|-|-|-|-|-|- +| 0034 |[Find First and Last Position of Element in Sorted Array](src/main/scala/g0001_0100/s0034_find_first_and_last_position_of_element_in_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 478 | 97.85 +| 0033 |[Search in Rotated Sorted Array](src/main/scala/g0001_0100/s0033_search_in_rotated_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 453 | 91.53 +| 0074 |[Search a 2D Matrix](src/main/scala/g0001_0100/s0074_search_a_2d_matrix/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Matrix, Big_O_Time_O(endRow+endCol)_Space_O(1) | 478 | 83.33 + +#### Day 2 Binary Search + +| | | | | | +|-|-|-|-|-|- +| 0153 |[Find Minimum in Rotated Sorted Array](src/main/scala/g0101_0200/s0153_find_minimum_in_rotated_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Big_O_Time_O(log_N)_Space_O(log_N) | 457 | 78.79 + +#### Day 3 Two Pointers + +| | | | | | +|-|-|-|-|-|- +| 0015 |[3Sum](src/main/scala/g0001_0100/s0015_3sum/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Two_Pointers, Big_O_Time_O(n\*log(n))_Space_O(n^2) | 721 | 95.24 + +#### Day 4 Two Pointers + +| | | | | | +|-|-|-|-|-|- +| 0011 |[Container With Most Water](src/main/scala/g0001_0100/s0011_container_with_most_water/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Greedy, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 683 | 99.13 + +#### Day 5 Sliding Window + +| | | | | | +|-|-|-|-|-|- +| 0438 |[Find All Anagrams in a String](src/main/scala/g0401_0500/s0438_find_all_anagrams_in_a_string/Solution.scala)| Medium | Top_100_Liked_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(n+m)_Space_O(1) | 576 | 100.00 + +#### Day 6 Breadth First Search Depth First Search + +| | | | | | +|-|-|-|-|-|- +| 0200 |[Number of Islands](src/main/scala/g0101_0200/s0200_number_of_islands/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Depth_First_Search, Breadth_First_Search, Matrix, Union_Find, Big_O_Time_O(M\*N)_Space_O(M\*N) | 537 | 93.18 + +#### Day 7 Breadth First Search Depth First Search + +| | | | | | +|-|-|-|-|-|- + +#### Day 8 Breadth First Search Depth First Search + +| | | | | | +|-|-|-|-|-|- + +#### Day 9 Recursion Backtracking + +| | | | | | +|-|-|-|-|-|- +| 0078 |[Subsets](src/main/scala/g0001_0100/s0078_subsets/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Bit_Manipulation, Backtracking, Big_O_Time_O(2^n)_Space_O(n\*2^n) | 452 | 87.50 + +#### Day 10 Recursion Backtracking + +| | | | | | +|-|-|-|-|-|- +| 0039 |[Combination Sum](src/main/scala/g0001_0100/s0039_combination_sum/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Backtracking, Big_O_Time_O(2^n)_Space_O(n+2^n) | 488 | 97.50 + +#### Day 11 Recursion Backtracking + +| | | | | | +|-|-|-|-|-|- +| 0017 |[Letter Combinations of a Phone Number](src/main/scala/g0001_0100/s0017_letter_combinations_of_a_phone_number/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Backtracking, Big_O_Time_O(4^n)_Space_O(n) | 459 | 58.54 +| 0022 |[Generate Parentheses](src/main/scala/g0001_0100/s0022_generate_parentheses/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Backtracking, Big_O_Time_O(2^n)_Space_O(n) | 380 | 100.00 +| 0079 |[Word Search](src/main/scala/g0001_0100/s0079_word_search/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Matrix, Backtracking, Big_O_Time_O(4^(m\*n))_Space_O(m\*n) | 783 | 94.87 + +#### Day 12 Dynamic Programming + +| | | | | | +|-|-|-|-|-|- +| 0055 |[Jump Game](src/main/scala/g0001_0100/s0055_jump_game/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) | 622 | 88.31 + +#### Day 13 Dynamic Programming + +| | | | | | +|-|-|-|-|-|- +| 0045 |[Jump Game II](src/main/scala/g0001_0100/s0045_jump_game_ii/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) | 510 | 88.52 +| 0062 |[Unique Paths](src/main/scala/g0001_0100/s0062_unique_paths/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Combinatorics, Big_O_Time_O(m\*n)_Space_O(m\*n) | 405 | 70.18 + +#### Day 14 Dynamic Programming + +| | | | | | +|-|-|-|-|-|- +| 0005 |[Longest Palindromic Substring](src/main/scala/g0001_0100/s0005_longest_palindromic_substring/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) | 502 | 87.65 + +#### Day 15 Dynamic Programming + +| | | | | | +|-|-|-|-|-|- +| 0139 |[Word Break](src/main/scala/g0101_0200/s0139_word_break/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Dynamic_Programming, Trie, Memoization, Big_O_Time_O(M+max\*N)_Space_O(M+N+max) | 482 | 66.67 + +#### Day 16 Dynamic Programming + +| | | | | | +|-|-|-|-|-|- +| 0300 |[Longest Increasing Subsequence](src/main/scala/g0201_0300/s0300_longest_increasing_subsequence/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Binary_Search, Big_O_Time_O(n\*log_n)_Space_O(n) | 522 | 88.89 + +#### Day 17 Dynamic Programming + +| | | | | | +|-|-|-|-|-|- +| 1143 |[Longest Common Subsequence](src/main/scala/g1101_1200/s1143_longest_common_subsequence/Solution.scala)| Medium | Top_100_Liked_Questions, String, Dynamic_Programming, Big_O_Time_O(n\*m)_Space_O(n\*m) | 507 | 100.00 + +#### Day 18 Dynamic Programming + +| | | | | | +|-|-|-|-|-|- +| 0072 |[Edit Distance](src/main/scala/g0001_0100/s0072_edit_distance/Solution.scala)| Hard | Top_100_Liked_Questions, String, Dynamic_Programming, Big_O_Time_O(n^2)_Space_O(n2) | 487 | 100.00 +| 0322 |[Coin Change](src/main/scala/g0301_0400/s0322_coin_change/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Breadth_First_Search, Big_O_Time_O(m\*n)_Space_O(amount) | 533 | 84.21 + +#### Day 19 Bit Manipulation + +| | | | | | +|-|-|-|-|-|- + +#### Day 20 Others + +| | | | | | +|-|-|-|-|-|- + +#### Day 21 Others + +| | | | | | +|-|-|-|-|-|- + ## Algorithms | # | Title | Difficulty | Tag | Time, ms | Time, % From 549734d9d7923bb6944dbf191b2739dffc66bb14 Mon Sep 17 00:00:00 2001 From: Valentyn Kolesnikov Date: Thu, 1 Feb 2024 07:33:41 +0200 Subject: [PATCH 06/18] Updated readme --- README.md | 348 +++++++++++++++++++++++++++--------------------------- 1 file changed, 174 insertions(+), 174 deletions(-) diff --git a/README.md b/README.md index 7eda914..bfc20ee 100644 --- a/README.md +++ b/README.md @@ -31,8 +31,6 @@ implementation 'com.github.javadev:leetcode-in-scala:1.0' > ["For coding interview preparation, LeetCode is one of the best online resource providing a rich library of more than 300 real coding interview questions for you to practice from using one of the 7 supported languages - C, C++, Java, Python, C#, JavaScript, Ruby."](https://www.quora.com/How-effective-is-Leetcode-for-preparing-for-technical-interviews) ## -* [Binary Search I](#binary-search-i) -* [Binary Search II](#binary-search-ii) * [Dynamic Programming I](#dynamic-programming-i) * [Programming Skills I](#programming-skills-i) * [Programming Skills II](#programming-skills-ii) @@ -45,178 +43,8 @@ implementation 'com.github.javadev:leetcode-in-scala:1.0' * [Data Structure II](#data-structure-ii) * [Algorithm I](#algorithm-i) * [Algorithm II](#algorithm-ii) - -### Binary Search I - -#### Day 1 - -| | | | | | -|-|-|-|-|-|- - -#### Day 2 - -| | | | | | -|-|-|-|-|-|- -| 0035 |[Search Insert Position](src/main/scala/g0001_0100/s0035_search_insert_position/Solution.scala)| Easy | Top_100_Liked_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 466 | 87.04 - -#### Day 3 - -| | | | | | -|-|-|-|-|-|- - -#### Day 4 - -| | | | | | -|-|-|-|-|-|- - -#### Day 5 - -| | | | | | -|-|-|-|-|-|- -| 0034 |[Find First and Last Position of Element in Sorted Array](src/main/scala/g0001_0100/s0034_find_first_and_last_position_of_element_in_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 478 | 97.85 - -#### Day 6 - -| | | | | | -|-|-|-|-|-|- - -#### Day 7 - -| | | | | | -|-|-|-|-|-|- - -#### Day 8 - -| | | | | | -|-|-|-|-|-|- -| 0074 |[Search a 2D Matrix](src/main/scala/g0001_0100/s0074_search_a_2d_matrix/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Matrix, Big_O_Time_O(endRow+endCol)_Space_O(1) | 478 | 83.33 - -#### Day 9 - -| | | | | | -|-|-|-|-|-|- - -#### Day 10 - -| | | | | | -|-|-|-|-|-|- - -#### Day 11 - -| | | | | | -|-|-|-|-|-|- -| 0033 |[Search in Rotated Sorted Array](src/main/scala/g0001_0100/s0033_search_in_rotated_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 453 | 91.53 - -#### Day 12 - -| | | | | | -|-|-|-|-|-|- -| 0153 |[Find Minimum in Rotated Sorted Array](src/main/scala/g0101_0200/s0153_find_minimum_in_rotated_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Big_O_Time_O(log_N)_Space_O(log_N) | 457 | 78.79 - -### Binary Search II - -#### Day 1 - -| | | | | | -|-|-|-|-|-|- - -#### Day 2 - -| | | | | | -|-|-|-|-|-|- - -#### Day 3 - -| | | | | | -|-|-|-|-|-|- -| 0300 |[Longest Increasing Subsequence](src/main/scala/g0201_0300/s0300_longest_increasing_subsequence/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Binary_Search, Big_O_Time_O(n\*log_n)_Space_O(n) | 522 | 88.89 - -#### Day 4 - -| | | | | | -|-|-|-|-|-|- - -#### Day 5 - -| | | | | | -|-|-|-|-|-|- -| 0287 |[Find the Duplicate Number](src/main/scala/g0201_0300/s0287_find_the_duplicate_number/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Two_Pointers, Bit_Manipulation, Big_O_Time_O(n)_Space_O(n) | 765 | 77.38 - -#### Day 6 - -| | | | | | -|-|-|-|-|-|- - -#### Day 7 - -| | | | | | -|-|-|-|-|-|- - -#### Day 8 - -| | | | | | -|-|-|-|-|-|- -| 0240 |[Search a 2D Matrix II](src/main/scala/g0201_0300/s0240_search_a_2d_matrix_ii/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Matrix, Divide_and_Conquer, Big_O_Time_O(n+m)_Space_O(1) | 579 | 66.67 - -#### Day 9 - -| | | | | | -|-|-|-|-|-|- - -#### Day 10 - -| | | | | | -|-|-|-|-|-|- - -#### Day 11 - -| | | | | | -|-|-|-|-|-|- - -#### Day 12 - -| | | | | | -|-|-|-|-|-|- - -#### Day 13 - -| | | | | | -|-|-|-|-|-|- - -#### Day 14 - -| | | | | | -|-|-|-|-|-|- - -#### Day 15 - -| | | | | | -|-|-|-|-|-|- - -#### Day 16 - -| | | | | | -|-|-|-|-|-|- - -#### Day 17 - -| | | | | | -|-|-|-|-|-|- - -#### Day 18 - -| | | | | | -|-|-|-|-|-|- - -#### Day 19 - -| | | | | | -|-|-|-|-|-|- - -#### Day 20 - -| | | | | | -|-|-|-|-|-|- +* [Binary Search I](#binary-search-i) +* [Binary Search II](#binary-search-ii) ### Dynamic Programming I @@ -1427,6 +1255,178 @@ implementation 'com.github.javadev:leetcode-in-scala:1.0' | | | | | | |-|-|-|-|-|- +### Binary Search I + +#### Day 1 + +| | | | | | +|-|-|-|-|-|- + +#### Day 2 + +| | | | | | +|-|-|-|-|-|- +| 0035 |[Search Insert Position](src/main/scala/g0001_0100/s0035_search_insert_position/Solution.scala)| Easy | Top_100_Liked_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 466 | 87.04 + +#### Day 3 + +| | | | | | +|-|-|-|-|-|- + +#### Day 4 + +| | | | | | +|-|-|-|-|-|- + +#### Day 5 + +| | | | | | +|-|-|-|-|-|- +| 0034 |[Find First and Last Position of Element in Sorted Array](src/main/scala/g0001_0100/s0034_find_first_and_last_position_of_element_in_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 478 | 97.85 + +#### Day 6 + +| | | | | | +|-|-|-|-|-|- + +#### Day 7 + +| | | | | | +|-|-|-|-|-|- + +#### Day 8 + +| | | | | | +|-|-|-|-|-|- +| 0074 |[Search a 2D Matrix](src/main/scala/g0001_0100/s0074_search_a_2d_matrix/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Matrix, Big_O_Time_O(endRow+endCol)_Space_O(1) | 478 | 83.33 + +#### Day 9 + +| | | | | | +|-|-|-|-|-|- + +#### Day 10 + +| | | | | | +|-|-|-|-|-|- + +#### Day 11 + +| | | | | | +|-|-|-|-|-|- +| 0033 |[Search in Rotated Sorted Array](src/main/scala/g0001_0100/s0033_search_in_rotated_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 453 | 91.53 + +#### Day 12 + +| | | | | | +|-|-|-|-|-|- +| 0153 |[Find Minimum in Rotated Sorted Array](src/main/scala/g0101_0200/s0153_find_minimum_in_rotated_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Big_O_Time_O(log_N)_Space_O(log_N) | 457 | 78.79 + +### Binary Search II + +#### Day 1 + +| | | | | | +|-|-|-|-|-|- + +#### Day 2 + +| | | | | | +|-|-|-|-|-|- + +#### Day 3 + +| | | | | | +|-|-|-|-|-|- +| 0300 |[Longest Increasing Subsequence](src/main/scala/g0201_0300/s0300_longest_increasing_subsequence/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Binary_Search, Big_O_Time_O(n\*log_n)_Space_O(n) | 522 | 88.89 + +#### Day 4 + +| | | | | | +|-|-|-|-|-|- + +#### Day 5 + +| | | | | | +|-|-|-|-|-|- +| 0287 |[Find the Duplicate Number](src/main/scala/g0201_0300/s0287_find_the_duplicate_number/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Two_Pointers, Bit_Manipulation, Big_O_Time_O(n)_Space_O(n) | 765 | 77.38 + +#### Day 6 + +| | | | | | +|-|-|-|-|-|- + +#### Day 7 + +| | | | | | +|-|-|-|-|-|- + +#### Day 8 + +| | | | | | +|-|-|-|-|-|- +| 0240 |[Search a 2D Matrix II](src/main/scala/g0201_0300/s0240_search_a_2d_matrix_ii/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Matrix, Divide_and_Conquer, Big_O_Time_O(n+m)_Space_O(1) | 579 | 66.67 + +#### Day 9 + +| | | | | | +|-|-|-|-|-|- + +#### Day 10 + +| | | | | | +|-|-|-|-|-|- + +#### Day 11 + +| | | | | | +|-|-|-|-|-|- + +#### Day 12 + +| | | | | | +|-|-|-|-|-|- + +#### Day 13 + +| | | | | | +|-|-|-|-|-|- + +#### Day 14 + +| | | | | | +|-|-|-|-|-|- + +#### Day 15 + +| | | | | | +|-|-|-|-|-|- + +#### Day 16 + +| | | | | | +|-|-|-|-|-|- + +#### Day 17 + +| | | | | | +|-|-|-|-|-|- + +#### Day 18 + +| | | | | | +|-|-|-|-|-|- + +#### Day 19 + +| | | | | | +|-|-|-|-|-|- + +#### Day 20 + +| | | | | | +|-|-|-|-|-|- + ## Algorithms | # | Title | Difficulty | Tag | Time, ms | Time, % From 907f48857ed6e9f2424b96e08ddfb5ef532b2cb6 Mon Sep 17 00:00:00 2001 From: Valentyn Kolesnikov Date: Wed, 1 May 2024 06:22:52 -0400 Subject: [PATCH 07/18] Updated readme --- README.md | 886 +++++++++++++++++++++++++++--------------------------- 1 file changed, 443 insertions(+), 443 deletions(-) diff --git a/README.md b/README.md index bfc20ee..7572f47 100644 --- a/README.md +++ b/README.md @@ -31,9 +31,6 @@ implementation 'com.github.javadev:leetcode-in-scala:1.0' > ["For coding interview preparation, LeetCode is one of the best online resource providing a rich library of more than 300 real coding interview questions for you to practice from using one of the 7 supported languages - C, C++, Java, Python, C#, JavaScript, Ruby."](https://www.quora.com/How-effective-is-Leetcode-for-preparing-for-technical-interviews) ## -* [Dynamic Programming I](#dynamic-programming-i) -* [Programming Skills I](#programming-skills-i) -* [Programming Skills II](#programming-skills-ii) * [Graph Theory I](#graph-theory-i) * [SQL I](#sql-i) * [Level 1](#level-1) @@ -45,1284 +42,1283 @@ implementation 'com.github.javadev:leetcode-in-scala:1.0' * [Algorithm II](#algorithm-ii) * [Binary Search I](#binary-search-i) * [Binary Search II](#binary-search-ii) +* [Dynamic Programming I](#dynamic-programming-i) +* [Programming Skills I](#programming-skills-i) +* [Programming Skills II](#programming-skills-ii) -### Dynamic Programming I +### Graph Theory I -#### Day 1 +#### Day 1 Matrix Related Problems | | | | | | |-|-|-|-|-|- +| 0200 |[Number of Islands](src/main/scala/g0101_0200/s0200_number_of_islands/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Depth_First_Search, Breadth_First_Search, Matrix, Union_Find, Big_O_Time_O(M\*N)_Space_O(M\*N) | 537 | 93.18 -#### Day 2 +#### Day 2 Matrix Related Problems | | | | | | |-|-|-|-|-|- -| 0070 |[Climbing Stairs](src/main/scala/g0001_0100/s0070_climbing_stairs/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Memoization, Big_O_Time_O(n)_Space_O(n) | 369 | 98.32 -#### Day 3 +#### Day 3 Matrix Related Problems | | | | | | |-|-|-|-|-|- -| 0198 |[House Robber](src/main/scala/g0101_0200/s0198_house_robber/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) | 426 | 98.04 -#### Day 4 +#### Day 4 Matrix Related Problems | | | | | | |-|-|-|-|-|- -| 0055 |[Jump Game](src/main/scala/g0001_0100/s0055_jump_game/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) | 622 | 88.31 -| 0045 |[Jump Game II](src/main/scala/g0001_0100/s0045_jump_game_ii/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) | 510 | 88.52 -#### Day 5 +#### Day 5 Matrix Related Problems | | | | | | |-|-|-|-|-|- -| 0053 |[Maximum Subarray](src/main/scala/g0001_0100/s0053_maximum_subarray/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Divide_and_Conquer, Big_O_Time_O(n)_Space_O(1) | 766 | 84.95 -#### Day 6 +#### Day 6 Matrix Related Problems | | | | | | |-|-|-|-|-|- -| 0152 |[Maximum Product Subarray](src/main/scala/g0101_0200/s0152_maximum_product_subarray/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(N)_Space_O(1) | 472 | 100.00 -#### Day 7 +#### Day 7 Standard Traversal | | | | | | |-|-|-|-|-|- -| 0121 |[Best Time to Buy and Sell Stock](src/main/scala/g0101_0200/s0121_best_time_to_buy_and_sell_stock/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(N)_Space_O(1) | 762 | 98.45 -#### Day 8 +#### Day 8 Standard Traversal | | | | | | |-|-|-|-|-|- -#### Day 9 +#### Day 9 Standard Traversal | | | | | | |-|-|-|-|-|- -| 0139 |[Word Break](src/main/scala/g0101_0200/s0139_word_break/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Dynamic_Programming, Trie, Memoization, Big_O_Time_O(M+max\*N)_Space_O(M+N+max) | 482 | 66.67 -| 0042 |[Trapping Rain Water](src/main/scala/g0001_0100/s0042_trapping_rain_water/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Two_Pointers, Stack, Monotonic_Stack, Big_O_Time_O(n)_Space_O(1) | 521 | 87.88 -#### Day 10 +#### Day 10 Standard Traversal | | | | | | |-|-|-|-|-|- -#### Day 11 +#### Day 11 Breadth First Search | | | | | | |-|-|-|-|-|- -| 0096 |[Unique Binary Search Trees](src/main/scala/g0001_0100/s0096_unique_binary_search_trees/Solution.scala)| Medium | Top_100_Liked_Questions, Dynamic_Programming, Math, Tree, Binary_Tree, Binary_Search_Tree, Big_O_Time_O(n)_Space_O(1) | 403 | 66.67 -#### Day 12 +#### Day 12 Breadth First Search | | | | | | |-|-|-|-|-|- -#### Day 13 +#### Day 13 Graph Theory | | | | | | |-|-|-|-|-|- -#### Day 14 +#### Day 14 Graph Theory | | | | | | |-|-|-|-|-|- -#### Day 15 - -| | | | | | -|-|-|-|-|-|- -| 0062 |[Unique Paths](src/main/scala/g0001_0100/s0062_unique_paths/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Combinatorics, Big_O_Time_O(m\*n)_Space_O(m\*n) | 405 | 70.18 +### SQL I -#### Day 16 +#### Day 1 Select | | | | | | |-|-|-|-|-|- -| 0064 |[Minimum Path Sum](src/main/scala/g0001_0100/s0064_minimum_path_sum/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Matrix, Big_O_Time_O(m\*n)_Space_O(m\*n) | 521 | 92.86 -| 0221 |[Maximal Square](src/main/scala/g0201_0300/s0221_maximal_square/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Matrix, Big_O_Time_O(m\*n)_Space_O(m\*n) | 626 | 100.00 -#### Day 17 +#### Day 2 Select and Order | | | | | | |-|-|-|-|-|- -| 0005 |[Longest Palindromic Substring](src/main/scala/g0001_0100/s0005_longest_palindromic_substring/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) | 502 | 87.65 -#### Day 18 +#### Day 3 String Processing Functions | | | | | | |-|-|-|-|-|- -| 0300 |[Longest Increasing Subsequence](src/main/scala/g0201_0300/s0300_longest_increasing_subsequence/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Binary_Search, Big_O_Time_O(n\*log_n)_Space_O(n) | 522 | 88.89 -#### Day 19 +#### Day 4 Union and Select | | | | | | |-|-|-|-|-|- -| 1143 |[Longest Common Subsequence](src/main/scala/g1101_1200/s1143_longest_common_subsequence/Solution.scala)| Medium | Top_100_Liked_Questions, String, Dynamic_Programming, Big_O_Time_O(n\*m)_Space_O(n\*m) | 507 | 100.00 -| 0072 |[Edit Distance](src/main/scala/g0001_0100/s0072_edit_distance/Solution.scala)| Hard | Top_100_Liked_Questions, String, Dynamic_Programming, Big_O_Time_O(n^2)_Space_O(n2) | 487 | 100.00 -#### Day 20 +#### Day 5 Union | | | | | | |-|-|-|-|-|- -| 0322 |[Coin Change](src/main/scala/g0301_0400/s0322_coin_change/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Breadth_First_Search, Big_O_Time_O(m\*n)_Space_O(amount) | 533 | 84.21 -#### Day 21 +#### Day 6 Union | | | | | | |-|-|-|-|-|- -### Programming Skills I - -#### Day 1 Basic Data Type +#### Day 7 Function | | | | | | |-|-|-|-|-|- -#### Day 2 Operator +#### Day 8 Function | | | | | | |-|-|-|-|-|- -#### Day 3 Conditional Statements +#### Day 9 Control of Flow | | | | | | |-|-|-|-|-|- -#### Day 4 Loop +#### Day 10 Where | | | | | | |-|-|-|-|-|- -#### Day 5 Function - -| | | | | | -|-|-|-|-|-|- +### Level 1 -#### Day 6 Array +#### Day 1 Prefix Sum | | | | | | |-|-|-|-|-|- -| 0283 |[Move Zeroes](src/main/scala/g0201_0300/s0283_move_zeroes/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 572 | 86.11 -#### Day 7 Array +#### Day 2 String | | | | | | |-|-|-|-|-|- -#### Day 8 String +#### Day 3 Linked List | | | | | | |-|-|-|-|-|- +| 0021 |[Merge Two Sorted Lists](src/main/scala/g0001_0100/s0021_merge_two_sorted_lists/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(m+n)_Space_O(m+n) | 480 | 89.72 +| 0206 |[Reverse Linked List](src/main/scala/g0201_0300/s0206_reverse_linked_list/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(N)_Space_O(1) | 474 | 87.50 -#### Day 9 String +#### Day 4 Linked List | | | | | | |-|-|-|-|-|- +| 0142 |[Linked List Cycle II](src/main/scala/g0101_0200/s0142_linked_list_cycle_ii/Solution.scala)| Medium | Top_100_Liked_Questions, Hash_Table, Two_Pointers, Linked_List, Big_O_Time_O(N)_Space_O(1) | 501 | 61.54 -#### Day 10 Linked List and Tree +#### Day 5 Greedy | | | | | | |-|-|-|-|-|- -| 0104 |[Maximum Depth of Binary Tree](src/main/scala/g0101_0200/s0104_maximum_depth_of_binary_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(H) | 472 | 90.83 +| 0121 |[Best Time to Buy and Sell Stock](src/main/scala/g0101_0200/s0121_best_time_to_buy_and_sell_stock/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(N)_Space_O(1) | 762 | 98.45 -#### Day 11 Containers and Libraries +#### Day 6 Tree | | | | | | |-|-|-|-|-|- +| 0102 |[Binary Tree Level Order Traversal](src/main/scala/g0101_0200/s0102_binary_tree_level_order_traversal/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(N) | 522 | 83.33 -#### Day 12 Class and Object +#### Day 7 Binary Search | | | | | | |-|-|-|-|-|- -### Programming Skills II - -#### Day 1 +#### Day 8 Binary Search Tree | | | | | | |-|-|-|-|-|- +| 0098 |[Validate Binary Search Tree](src/main/scala/g0001_0100/s0098_validate_binary_search_tree/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Binary_Search_Tree, Big_O_Time_O(N)_Space_O(log(N)) | 507 | 70.21 -#### Day 2 +#### Day 9 Graph/BFS/DFS | | | | | | |-|-|-|-|-|- +| 0200 |[Number of Islands](src/main/scala/g0101_0200/s0200_number_of_islands/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Depth_First_Search, Breadth_First_Search, Matrix, Union_Find, Big_O_Time_O(M\*N)_Space_O(M\*N) | 537 | 93.18 -#### Day 3 +#### Day 10 Dynamic Programming | | | | | | |-|-|-|-|-|- +| 0070 |[Climbing Stairs](src/main/scala/g0001_0100/s0070_climbing_stairs/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Memoization, Big_O_Time_O(n)_Space_O(n) | 369 | 98.32 -#### Day 4 +#### Day 11 Dynamic Programming | | | | | | |-|-|-|-|-|- +| 0062 |[Unique Paths](src/main/scala/g0001_0100/s0062_unique_paths/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Combinatorics, Big_O_Time_O(m\*n)_Space_O(m\*n) | 405 | 70.18 -#### Day 5 +#### Day 12 Sliding Window/Two Pointer | | | | | | |-|-|-|-|-|- +| 0438 |[Find All Anagrams in a String](src/main/scala/g0401_0500/s0438_find_all_anagrams_in_a_string/Solution.scala)| Medium | Top_100_Liked_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(n+m)_Space_O(1) | 576 | 100.00 -#### Day 6 +#### Day 13 Hashmap | | | | | | |-|-|-|-|-|- -| 0739 |[Daily Temperatures](src/main/scala/g0701_0800/s0739_daily_temperatures/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Stack, Monotonic_Stack, Big_O_Time_O(n)_Space_O(n) | 931 | 97.30 +| 0001 |[Two Sum](src/main/scala/g0001_0100/s0001_two_sum/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Big_O_Time_O(n)_Space_O(n) | 517 | 86.66 -#### Day 7 +#### Day 14 Stack | | | | | | |-|-|-|-|-|- -| 0048 |[Rotate Image](src/main/scala/g0001_0100/s0048_rotate_image/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Math, Matrix, Big_O_Time_O(n^2)_Space_O(1) | 472 | 66.67 +| 0394 |[Decode String](src/main/scala/g0301_0400/s0394_decode_string/Solution.scala)| Medium | Top_100_Liked_Questions, String, Stack, Recursion, Big_O_Time_O(n)_Space_O(n) | 449 | 50.00 -#### Day 8 +#### Day 15 Heap | | | | | | |-|-|-|-|-|- -#### Day 9 +### Level 2 + +#### Day 1 Implementation/Simulation | | | | | | |-|-|-|-|-|- -#### Day 10 +#### Day 2 String | | | | | | |-|-|-|-|-|- -#### Day 11 +#### Day 3 Linked List | | | | | | |-|-|-|-|-|- -| 0049 |[Group Anagrams](src/main/scala/g0001_0100/s0049_group_anagrams/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, String, Hash_Table, Sorting, Big_O_Time_O(n\*k_log_k)_Space_O(n) | 618 | 91.67 +| 0019 |[Remove Nth Node From End of List](src/main/scala/g0001_0100/s0019_remove_nth_node_from_end_of_list/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Two_Pointers, Linked_List, Big_O_Time_O(L)_Space_O(L) | 492 | 52.63 +| 0234 |[Palindrome Linked List](src/main/scala/g0201_0300/s0234_palindrome_linked_list/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Two_Pointers, Stack, Linked_List, Recursion, Big_O_Time_O(n)_Space_O(1) | 811 | 85.71 -#### Day 12 +#### Day 4 Linked List | | | | | | |-|-|-|-|-|- -| 0438 |[Find All Anagrams in a String](src/main/scala/g0401_0500/s0438_find_all_anagrams_in_a_string/Solution.scala)| Medium | Top_100_Liked_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(n+m)_Space_O(1) | 576 | 100.00 +| 0148 |[Sort List](src/main/scala/g0101_0200/s0148_sort_list/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Sorting, Two_Pointers, Linked_List, Divide_and_Conquer, Merge_Sort, Big_O_Time_O(log(N))_Space_O(log(N)) | 745 | 75.00 -#### Day 13 +#### Day 5 Greedy | | | | | | |-|-|-|-|-|- -#### Day 14 +#### Day 6 Tree | | | | | | |-|-|-|-|-|- -| 0138 |[Copy List with Random Pointer](src/main/scala/g0101_0200/s0138_copy_list_with_random_pointer/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Hash_Table, Linked_List, Big_O_Time_O(N)_Space_O(N) | 477 | 96.00 +| 0226 |[Invert Binary Tree](src/main/scala/g0201_0300/s0226_invert_binary_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) | 421 | 97.33 -#### Day 15 +#### Day 7 Tree | | | | | | |-|-|-|-|-|- -| 0002 |[Add Two Numbers](src/main/scala/g0001_0100/s0002_add_two_numbers/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Math, Linked_List, Recursion, Big_O_Time_O(max(N,M))_Space_O(max(N,M)) | 571 | 75.12 +| 0543 |[Diameter of Binary Tree](src/main/scala/g0501_0600/s0543_diameter_of_binary_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Depth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) | 479 | 90.48 +| 0437 |[Path Sum III](src/main/scala/g0401_0500/s0437_path_sum_iii/Solution.scala)| Medium | Top_100_Liked_Questions, Depth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) | 498 | 90.91 -#### Day 16 +#### Day 8 Binary Search | | | | | | |-|-|-|-|-|- +| 0074 |[Search a 2D Matrix](src/main/scala/g0001_0100/s0074_search_a_2d_matrix/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Matrix, Big_O_Time_O(endRow+endCol)_Space_O(1) | 478 | 83.33 +| 0033 |[Search in Rotated Sorted Array](src/main/scala/g0001_0100/s0033_search_in_rotated_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 453 | 91.53 -#### Day 17 +#### Day 9 Binary Search Tree | | | | | | |-|-|-|-|-|- +| 0230 |[Kth Smallest Element in a BST](src/main/scala/g0201_0300/s0230_kth_smallest_element_in_a_bst/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Binary_Search_Tree, Big_O_Time_O(n)_Space_O(n) | 503 | 91.30 -#### Day 18 +#### Day 10 Graph/BFS/DFS | | | | | | |-|-|-|-|-|- -| 0155 |[Min Stack](src/main/scala/g0101_0200/s0155_min_stack/MinStack.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Stack, Design, Big_O_Time_O(1)_Space_O(N) | 566 | 90.91 -#### Day 19 +#### Day 11 Graph/BFS/DFS | | | | | | |-|-|-|-|-|- -#### Day 20 +#### Day 12 Dynamic Programming | | | | | | |-|-|-|-|-|- +| 0198 |[House Robber](src/main/scala/g0101_0200/s0198_house_robber/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) | 426 | 98.04 +| 0322 |[Coin Change](src/main/scala/g0301_0400/s0322_coin_change/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Breadth_First_Search, Big_O_Time_O(m\*n)_Space_O(amount) | 533 | 84.21 -### Graph Theory I - -#### Day 1 Matrix Related Problems +#### Day 13 Dynamic Programming | | | | | | |-|-|-|-|-|- -| 0200 |[Number of Islands](src/main/scala/g0101_0200/s0200_number_of_islands/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Depth_First_Search, Breadth_First_Search, Matrix, Union_Find, Big_O_Time_O(M\*N)_Space_O(M\*N) | 537 | 93.18 +| 0416 |[Partition Equal Subset Sum](src/main/scala/g0401_0500/s0416_partition_equal_subset_sum/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Big_O_Time_O(n\*sums)_Space_O(n\*sums) | 577 | 100.00 +| 0152 |[Maximum Product Subarray](src/main/scala/g0101_0200/s0152_maximum_product_subarray/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(N)_Space_O(1) | 472 | 100.00 -#### Day 2 Matrix Related Problems +#### Day 14 Sliding Window/Two Pointer | | | | | | |-|-|-|-|-|- +| 0003 |[Longest Substring Without Repeating Characters](src/main/scala/g0001_0100/s0003_longest_substring_without_repeating_characters/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(n)_Space_O(1) | 482 | 96.91 +| 0076 |[Minimum Window Substring](src/main/scala/g0001_0100/s0076_minimum_window_substring/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(s.length())_Space_O(1) | 453 | 100.00 -#### Day 3 Matrix Related Problems +#### Day 15 Tree | | | | | | |-|-|-|-|-|- +| 0101 |[Symmetric Tree](src/main/scala/g0101_0200/s0101_symmetric_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(log(N)) | 454 | 90.38 -#### Day 4 Matrix Related Problems +#### Day 16 Design | | | | | | |-|-|-|-|-|- +| 0155 |[Min Stack](src/main/scala/g0101_0200/s0155_min_stack/MinStack.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Stack, Design, Big_O_Time_O(1)_Space_O(N) | 566 | 90.91 +| 0208 |[Implement Trie (Prefix Tree)](src/main/scala/g0201_0300/s0208_implement_trie_prefix_tree/Trie.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Design, Trie, Big_O_Time_O(word.length())_or_O(prefix.length())_Space_O(N) | 610 | 100.00 -#### Day 5 Matrix Related Problems +#### Day 17 Interval | | | | | | |-|-|-|-|-|- +| 0056 |[Merge Intervals](src/main/scala/g0001_0100/s0056_merge_intervals/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Big_O_Time_O(n_log_n)_Space_O(n) | 583 | 90.91 -#### Day 6 Matrix Related Problems +#### Day 18 Stack | | | | | | |-|-|-|-|-|- -#### Day 7 Standard Traversal +#### Day 19 Union Find | | | | | | |-|-|-|-|-|- -#### Day 8 Standard Traversal +#### Day 20 Brute Force/Backtracking | | | | | | |-|-|-|-|-|- +| 0039 |[Combination Sum](src/main/scala/g0001_0100/s0039_combination_sum/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Backtracking, Big_O_Time_O(2^n)_Space_O(n+2^n) | 488 | 97.50 +| 0046 |[Permutations](src/main/scala/g0001_0100/s0046_permutations/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Backtracking, Big_O_Time_O(n\*n!)_Space_O(n+n!) | 470 | 92.31 -#### Day 9 Standard Traversal +### Udemy + +#### Udemy Integers | | | | | | |-|-|-|-|-|- +| 0136 |[Single Number](src/main/scala/g0101_0200/s0136_single_number/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Bit_Manipulation, Big_O_Time_O(N)_Space_O(1) | 530 | 78.57 +| 0007 |[Reverse Integer](src/main/scala/g0001_0100/s0007_reverse_integer/Solution.scala)| Medium | Top_Interview_Questions, Math | 405 | 90.16 +| 0009 |[Palindrome Number](src/main/scala/g0001_0100/s0009_palindrome_number/Solution.scala)| Easy | Math | 453 | 99.49 -#### Day 10 Standard Traversal +#### Udemy Strings | | | | | | |-|-|-|-|-|- +| 0003 |[Longest Substring Without Repeating Characters](src/main/scala/g0001_0100/s0003_longest_substring_without_repeating_characters/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(n)_Space_O(1) | 482 | 96.91 +| 0020 |[Valid Parentheses](src/main/scala/g0001_0100/s0020_valid_parentheses/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, String, Stack, Big_O_Time_O(n)_Space_O(n) | 449 | 65.58 +| 0005 |[Longest Palindromic Substring](src/main/scala/g0001_0100/s0005_longest_palindromic_substring/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) | 502 | 87.65 +| 0394 |[Decode String](src/main/scala/g0301_0400/s0394_decode_string/Solution.scala)| Medium | Top_100_Liked_Questions, String, Stack, Recursion, Big_O_Time_O(n)_Space_O(n) | 449 | 50.00 +| 0049 |[Group Anagrams](src/main/scala/g0001_0100/s0049_group_anagrams/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, String, Hash_Table, Sorting, Big_O_Time_O(n\*k_log_k)_Space_O(n) | 618 | 91.67 -#### Day 11 Breadth First Search +#### Udemy Binary Search | | | | | | |-|-|-|-|-|- +| 0033 |[Search in Rotated Sorted Array](src/main/scala/g0001_0100/s0033_search_in_rotated_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 453 | 91.53 +| 0153 |[Find Minimum in Rotated Sorted Array](src/main/scala/g0101_0200/s0153_find_minimum_in_rotated_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Big_O_Time_O(log_N)_Space_O(log_N) | 457 | 78.79 -#### Day 12 Breadth First Search +#### Udemy Arrays | | | | | | |-|-|-|-|-|- +| 0121 |[Best Time to Buy and Sell Stock](src/main/scala/g0101_0200/s0121_best_time_to_buy_and_sell_stock/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(N)_Space_O(1) | 762 | 98.45 +| 0283 |[Move Zeroes](src/main/scala/g0201_0300/s0283_move_zeroes/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 572 | 86.11 +| 0001 |[Two Sum](src/main/scala/g0001_0100/s0001_two_sum/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Big_O_Time_O(n)_Space_O(n) | 517 | 86.66 +| 0189 |[Rotate Array](src/main/scala/g0101_0200/s0189_rotate_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Math, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 600 | 96.59 +| 0055 |[Jump Game](src/main/scala/g0001_0100/s0055_jump_game/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) | 622 | 88.31 +| 0075 |[Sort Colors](src/main/scala/g0001_0100/s0075_sort_colors/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 450 | 84.21 +| 0238 |[Product of Array Except Self](src/main/scala/g0201_0300/s0238_product_of_array_except_self/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Prefix_Sum, Big_O_Time_O(n^2)_Space_O(n) | 634 | 79.44 +| 0041 |[First Missing Positive](src/main/scala/g0001_0100/s0041_first_missing_positive/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Big_O_Time_O(n)_Space_O(n) | 650 | 100.00 +| 0239 |[Sliding Window Maximum](src/main/scala/g0201_0300/s0239_sliding_window_maximum/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, Array, Heap_Priority_Queue, Sliding_Window, Queue, Monotonic_Queue, Big_O_Time_O(n\*k)_Space_O(n+k) | 1149 | 86.67 -#### Day 13 Graph Theory +#### Udemy Two Pointers | | | | | | |-|-|-|-|-|- +| 0042 |[Trapping Rain Water](src/main/scala/g0001_0100/s0042_trapping_rain_water/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Two_Pointers, Stack, Monotonic_Stack, Big_O_Time_O(n)_Space_O(1) | 521 | 87.88 +| 0015 |[3Sum](src/main/scala/g0001_0100/s0015_3sum/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Two_Pointers, Big_O_Time_O(n\*log(n))_Space_O(n^2) | 721 | 95.24 -#### Day 14 Graph Theory +#### Udemy Famous Algorithm | | | | | | |-|-|-|-|-|- +| 0053 |[Maximum Subarray](src/main/scala/g0001_0100/s0053_maximum_subarray/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Divide_and_Conquer, Big_O_Time_O(n)_Space_O(1) | 766 | 84.95 +| 0169 |[Majority Element](src/main/scala/g0101_0200/s0169_majority_element/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Sorting, Counting, Divide_and_Conquer, Big_O_Time_O(n)_Space_O(1) | 538 | 92.57 -### SQL I - -#### Day 1 Select +#### Udemy Sorting Algorithms | | | | | | |-|-|-|-|-|- -#### Day 2 Select and Order +#### Udemy 2D Arrays/Matrix | | | | | | |-|-|-|-|-|- +| 0074 |[Search a 2D Matrix](src/main/scala/g0001_0100/s0074_search_a_2d_matrix/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Matrix, Big_O_Time_O(endRow+endCol)_Space_O(1) | 478 | 83.33 +| 0048 |[Rotate Image](src/main/scala/g0001_0100/s0048_rotate_image/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Math, Matrix, Big_O_Time_O(n^2)_Space_O(1) | 472 | 66.67 +| 0073 |[Set Matrix Zeroes](src/main/scala/g0001_0100/s0073_set_matrix_zeroes/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Matrix, Big_O_Time_O(m\*n)_Space_O(1) | 557 | 90.91 +| 0056 |[Merge Intervals](src/main/scala/g0001_0100/s0056_merge_intervals/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Big_O_Time_O(n_log_n)_Space_O(n) | 583 | 90.91 -#### Day 3 String Processing Functions +#### Udemy Linked List | | | | | | |-|-|-|-|-|- +| 0114 |[Flatten Binary Tree to Linked List](src/main/scala/g0101_0200/s0114_flatten_binary_tree_to_linked_list/Solution.scala)| Medium | Top_100_Liked_Questions, Depth_First_Search, Tree, Binary_Tree, Stack, Linked_List, Big_O_Time_O(N)_Space_O(N) | 491 | 54.17 +| 0024 |[Swap Nodes in Pairs](src/main/scala/g0001_0100/s0024_swap_nodes_in_pairs/Solution.scala)| Medium | Top_100_Liked_Questions, Linked_List, Recursion, Big_O_Time_O(n)_Space_O(1) | 441 | 95.65 +| 0142 |[Linked List Cycle II](src/main/scala/g0101_0200/s0142_linked_list_cycle_ii/Solution.scala)| Medium | Top_100_Liked_Questions, Hash_Table, Two_Pointers, Linked_List, Big_O_Time_O(N)_Space_O(1) | 501 | 61.54 +| 0141 |[Linked List Cycle](src/main/scala/g0101_0200/s0141_linked_list_cycle/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Hash_Table, Two_Pointers, Linked_List, Big_O_Time_O(N)_Space_O(1) | 503 | 84.25 +| 0206 |[Reverse Linked List](src/main/scala/g0201_0300/s0206_reverse_linked_list/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(N)_Space_O(1) | 474 | 87.50 +| 0021 |[Merge Two Sorted Lists](src/main/scala/g0001_0100/s0021_merge_two_sorted_lists/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(m+n)_Space_O(m+n) | 480 | 89.72 +| 0160 |[Intersection of Two Linked Lists](src/main/scala/g0101_0200/s0160_intersection_of_two_linked_lists/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Hash_Table, Two_Pointers, Linked_List, Big_O_Time_O(M+N)_Space_O(1) | 564 | 96.43 +| 0234 |[Palindrome Linked List](src/main/scala/g0201_0300/s0234_palindrome_linked_list/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Two_Pointers, Stack, Linked_List, Recursion, Big_O_Time_O(n)_Space_O(1) | 811 | 85.71 +| 0138 |[Copy List with Random Pointer](src/main/scala/g0101_0200/s0138_copy_list_with_random_pointer/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Hash_Table, Linked_List, Big_O_Time_O(N)_Space_O(N) | 477 | 96.00 +| 0025 |[Reverse Nodes in k-Group](src/main/scala/g0001_0100/s0025_reverse_nodes_in_k_group/Solution.scala)| Hard | Top_100_Liked_Questions, Linked_List, Recursion, Big_O_Time_O(n)_Space_O(k) | 520 | 80.00 +| 0146 |[LRU Cache](src/main/scala/g0101_0200/s0146_lru_cache/LRUCache.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Hash_Table, Design, Linked_List, Doubly_Linked_List, Big_O_Time_O(1)_Space_O(capacity) | 1590 | 85.19 + +#### Udemy Tree Stack Queue -#### Day 4 Union and Select - | | | | | | |-|-|-|-|-|- +| 0094 |[Binary Tree Inorder Traversal](src/main/scala/g0001_0100/s0094_binary_tree_inorder_traversal/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Stack, Big_O_Time_O(n)_Space_O(n) | 456 | 68.42 +| 0102 |[Binary Tree Level Order Traversal](src/main/scala/g0101_0200/s0102_binary_tree_level_order_traversal/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(N) | 522 | 83.33 +| 0543 |[Diameter of Binary Tree](src/main/scala/g0501_0600/s0543_diameter_of_binary_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Depth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) | 479 | 90.48 +| 0226 |[Invert Binary Tree](src/main/scala/g0201_0300/s0226_invert_binary_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) | 421 | 97.33 +| 0104 |[Maximum Depth of Binary Tree](src/main/scala/g0101_0200/s0104_maximum_depth_of_binary_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(H) | 472 | 90.83 +| 0124 |[Binary Tree Maximum Path Sum](src/main/scala/g0101_0200/s0124_binary_tree_maximum_path_sum/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Depth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(N) | 523 | 89.47 +| 0098 |[Validate Binary Search Tree](src/main/scala/g0001_0100/s0098_validate_binary_search_tree/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Binary_Search_Tree, Big_O_Time_O(N)_Space_O(log(N)) | 507 | 70.21 +| 0236 |[Lowest Common Ancestor of a Binary Tree](src/main/scala/g0201_0300/s0236_lowest_common_ancestor_of_a_binary_tree/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) | 539 | 70.73 -#### Day 5 Union +#### Udemy Trie and Heap | | | | | | |-|-|-|-|-|- +| 0208 |[Implement Trie (Prefix Tree)](src/main/scala/g0201_0300/s0208_implement_trie_prefix_tree/Trie.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Design, Trie, Big_O_Time_O(word.length())_or_O(prefix.length())_Space_O(N) | 610 | 100.00 -#### Day 6 Union +#### Udemy Graph | | | | | | |-|-|-|-|-|- +| 0200 |[Number of Islands](src/main/scala/g0101_0200/s0200_number_of_islands/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Depth_First_Search, Breadth_First_Search, Matrix, Union_Find, Big_O_Time_O(M\*N)_Space_O(M\*N) | 537 | 93.18 -#### Day 7 Function +#### Udemy Dynamic Programming | | | | | | |-|-|-|-|-|- +| 0139 |[Word Break](src/main/scala/g0101_0200/s0139_word_break/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Dynamic_Programming, Trie, Memoization, Big_O_Time_O(M+max\*N)_Space_O(M+N+max) | 482 | 66.67 +| 0152 |[Maximum Product Subarray](src/main/scala/g0101_0200/s0152_maximum_product_subarray/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(N)_Space_O(1) | 472 | 100.00 +| 0198 |[House Robber](src/main/scala/g0101_0200/s0198_house_robber/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) | 426 | 98.04 +| 0070 |[Climbing Stairs](src/main/scala/g0001_0100/s0070_climbing_stairs/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Memoization, Big_O_Time_O(n)_Space_O(n) | 369 | 98.32 +| 0064 |[Minimum Path Sum](src/main/scala/g0001_0100/s0064_minimum_path_sum/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Matrix, Big_O_Time_O(m\*n)_Space_O(m\*n) | 521 | 92.86 +| 0300 |[Longest Increasing Subsequence](src/main/scala/g0201_0300/s0300_longest_increasing_subsequence/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Binary_Search, Big_O_Time_O(n\*log_n)_Space_O(n) | 522 | 88.89 +| 1143 |[Longest Common Subsequence](src/main/scala/g1101_1200/s1143_longest_common_subsequence/Solution.scala)| Medium | Top_100_Liked_Questions, String, Dynamic_Programming, Big_O_Time_O(n\*m)_Space_O(n\*m) | 507 | 100.00 +| 0072 |[Edit Distance](src/main/scala/g0001_0100/s0072_edit_distance/Solution.scala)| Hard | Top_100_Liked_Questions, String, Dynamic_Programming, Big_O_Time_O(n^2)_Space_O(n2) | 487 | 100.00 +| 0010 |[Regular Expression Matching](src/main/scala/g0001_0100/s0010_regular_expression_matching/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Recursion, Big_O_Time_O(m\*n)_Space_O(m\*n) | 459 | 75.00 -#### Day 8 Function +#### Udemy Backtracking/Recursion | | | | | | |-|-|-|-|-|- +| 0022 |[Generate Parentheses](src/main/scala/g0001_0100/s0022_generate_parentheses/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Backtracking, Big_O_Time_O(2^n)_Space_O(n) | 380 | 100.00 +| 0039 |[Combination Sum](src/main/scala/g0001_0100/s0039_combination_sum/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Backtracking, Big_O_Time_O(2^n)_Space_O(n+2^n) | 488 | 97.50 +| 0078 |[Subsets](src/main/scala/g0001_0100/s0078_subsets/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Bit_Manipulation, Backtracking, Big_O_Time_O(2^n)_Space_O(n\*2^n) | 452 | 87.50 +| 0017 |[Letter Combinations of a Phone Number](src/main/scala/g0001_0100/s0017_letter_combinations_of_a_phone_number/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Backtracking, Big_O_Time_O(4^n)_Space_O(n) | 459 | 58.54 +| 0046 |[Permutations](src/main/scala/g0001_0100/s0046_permutations/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Backtracking, Big_O_Time_O(n\*n!)_Space_O(n+n!) | 470 | 92.31 -#### Day 9 Control of Flow +#### Udemy Bit Manipulation | | | | | | |-|-|-|-|-|- +| 0338 |[Counting Bits](src/main/scala/g0301_0400/s0338_counting_bits/Solution.scala)| Easy | Top_100_Liked_Questions, Dynamic_Programming, Bit_Manipulation, Big_O_Time_O(num)_Space_O(num) | 447 | 92.68 -#### Day 10 Where +#### Udemy Design | | | | | | |-|-|-|-|-|- +| 0155 |[Min Stack](src/main/scala/g0101_0200/s0155_min_stack/MinStack.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Stack, Design, Big_O_Time_O(1)_Space_O(N) | 566 | 90.91 -### Level 1 +### Data Structure I -#### Day 1 Prefix Sum +#### Day 1 Array | | | | | | |-|-|-|-|-|- +| 0053 |[Maximum Subarray](src/main/scala/g0001_0100/s0053_maximum_subarray/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Divide_and_Conquer, Big_O_Time_O(n)_Space_O(1) | 766 | 84.95 -#### Day 2 String +#### Day 2 Array | | | | | | |-|-|-|-|-|- +| 0001 |[Two Sum](src/main/scala/g0001_0100/s0001_two_sum/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Big_O_Time_O(n)_Space_O(n) | 517 | 86.66 -#### Day 3 Linked List +#### Day 3 Array | | | | | | |-|-|-|-|-|- -| 0021 |[Merge Two Sorted Lists](src/main/scala/g0001_0100/s0021_merge_two_sorted_lists/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(m+n)_Space_O(m+n) | 480 | 89.72 -| 0206 |[Reverse Linked List](src/main/scala/g0201_0300/s0206_reverse_linked_list/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(N)_Space_O(1) | 474 | 87.50 +| 0121 |[Best Time to Buy and Sell Stock](src/main/scala/g0101_0200/s0121_best_time_to_buy_and_sell_stock/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(N)_Space_O(1) | 762 | 98.45 -#### Day 4 Linked List +#### Day 4 Array | | | | | | |-|-|-|-|-|- -| 0142 |[Linked List Cycle II](src/main/scala/g0101_0200/s0142_linked_list_cycle_ii/Solution.scala)| Medium | Top_100_Liked_Questions, Hash_Table, Two_Pointers, Linked_List, Big_O_Time_O(N)_Space_O(1) | 501 | 61.54 -#### Day 5 Greedy +#### Day 5 Array | | | | | | |-|-|-|-|-|- -| 0121 |[Best Time to Buy and Sell Stock](src/main/scala/g0101_0200/s0121_best_time_to_buy_and_sell_stock/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(N)_Space_O(1) | 762 | 98.45 +| 0074 |[Search a 2D Matrix](src/main/scala/g0001_0100/s0074_search_a_2d_matrix/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Matrix, Big_O_Time_O(endRow+endCol)_Space_O(1) | 478 | 83.33 -#### Day 6 Tree +#### Day 6 String | | | | | | |-|-|-|-|-|- -| 0102 |[Binary Tree Level Order Traversal](src/main/scala/g0101_0200/s0102_binary_tree_level_order_traversal/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(N) | 522 | 83.33 -#### Day 7 Binary Search +#### Day 7 Linked List | | | | | | |-|-|-|-|-|- +| 0141 |[Linked List Cycle](src/main/scala/g0101_0200/s0141_linked_list_cycle/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Hash_Table, Two_Pointers, Linked_List, Big_O_Time_O(N)_Space_O(1) | 503 | 84.25 +| 0021 |[Merge Two Sorted Lists](src/main/scala/g0001_0100/s0021_merge_two_sorted_lists/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(m+n)_Space_O(m+n) | 480 | 89.72 -#### Day 8 Binary Search Tree +#### Day 8 Linked List | | | | | | |-|-|-|-|-|- -| 0098 |[Validate Binary Search Tree](src/main/scala/g0001_0100/s0098_validate_binary_search_tree/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Binary_Search_Tree, Big_O_Time_O(N)_Space_O(log(N)) | 507 | 70.21 +| 0206 |[Reverse Linked List](src/main/scala/g0201_0300/s0206_reverse_linked_list/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(N)_Space_O(1) | 474 | 87.50 -#### Day 9 Graph/BFS/DFS +#### Day 9 Stack Queue | | | | | | |-|-|-|-|-|- -| 0200 |[Number of Islands](src/main/scala/g0101_0200/s0200_number_of_islands/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Depth_First_Search, Breadth_First_Search, Matrix, Union_Find, Big_O_Time_O(M\*N)_Space_O(M\*N) | 537 | 93.18 +| 0020 |[Valid Parentheses](src/main/scala/g0001_0100/s0020_valid_parentheses/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, String, Stack, Big_O_Time_O(n)_Space_O(n) | 449 | 65.58 -#### Day 10 Dynamic Programming +#### Day 10 Tree | | | | | | |-|-|-|-|-|- -| 0070 |[Climbing Stairs](src/main/scala/g0001_0100/s0070_climbing_stairs/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Memoization, Big_O_Time_O(n)_Space_O(n) | 369 | 98.32 +| 0094 |[Binary Tree Inorder Traversal](src/main/scala/g0001_0100/s0094_binary_tree_inorder_traversal/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Stack, Big_O_Time_O(n)_Space_O(n) | 456 | 68.42 -#### Day 11 Dynamic Programming +#### Day 11 Tree | | | | | | |-|-|-|-|-|- -| 0062 |[Unique Paths](src/main/scala/g0001_0100/s0062_unique_paths/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Combinatorics, Big_O_Time_O(m\*n)_Space_O(m\*n) | 405 | 70.18 +| 0102 |[Binary Tree Level Order Traversal](src/main/scala/g0101_0200/s0102_binary_tree_level_order_traversal/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(N) | 522 | 83.33 +| 0104 |[Maximum Depth of Binary Tree](src/main/scala/g0101_0200/s0104_maximum_depth_of_binary_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(H) | 472 | 90.83 +| 0101 |[Symmetric Tree](src/main/scala/g0101_0200/s0101_symmetric_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(log(N)) | 454 | 90.38 -#### Day 12 Sliding Window/Two Pointer +#### Day 12 Tree | | | | | | |-|-|-|-|-|- -| 0438 |[Find All Anagrams in a String](src/main/scala/g0401_0500/s0438_find_all_anagrams_in_a_string/Solution.scala)| Medium | Top_100_Liked_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(n+m)_Space_O(1) | 576 | 100.00 +| 0226 |[Invert Binary Tree](src/main/scala/g0201_0300/s0226_invert_binary_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) | 421 | 97.33 -#### Day 13 Hashmap +#### Day 13 Tree | | | | | | |-|-|-|-|-|- -| 0001 |[Two Sum](src/main/scala/g0001_0100/s0001_two_sum/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Big_O_Time_O(n)_Space_O(n) | 517 | 86.66 -#### Day 14 Stack +#### Day 14 Tree | | | | | | |-|-|-|-|-|- -| 0394 |[Decode String](src/main/scala/g0301_0400/s0394_decode_string/Solution.scala)| Medium | Top_100_Liked_Questions, String, Stack, Recursion, Big_O_Time_O(n)_Space_O(n) | 449 | 50.00 +| 0098 |[Validate Binary Search Tree](src/main/scala/g0001_0100/s0098_validate_binary_search_tree/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Binary_Search_Tree, Big_O_Time_O(N)_Space_O(log(N)) | 507 | 70.21 -#### Day 15 Heap +### Data Structure II + +#### Day 1 Array | | | | | | |-|-|-|-|-|- +| 0136 |[Single Number](src/main/scala/g0101_0200/s0136_single_number/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Bit_Manipulation, Big_O_Time_O(N)_Space_O(1) | 530 | 78.57 +| 0169 |[Majority Element](src/main/scala/g0101_0200/s0169_majority_element/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Sorting, Counting, Divide_and_Conquer, Big_O_Time_O(n)_Space_O(1) | 538 | 92.57 +| 0015 |[3Sum](src/main/scala/g0001_0100/s0015_3sum/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Two_Pointers, Big_O_Time_O(n\*log(n))_Space_O(n^2) | 721 | 95.24 -### Level 2 - -#### Day 1 Implementation/Simulation +#### Day 2 Array | | | | | | |-|-|-|-|-|- +| 0075 |[Sort Colors](src/main/scala/g0001_0100/s0075_sort_colors/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 450 | 84.21 +| 0056 |[Merge Intervals](src/main/scala/g0001_0100/s0056_merge_intervals/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Big_O_Time_O(n_log_n)_Space_O(n) | 583 | 90.91 -#### Day 2 String +#### Day 3 Array | | | | | | |-|-|-|-|-|- +| 0048 |[Rotate Image](src/main/scala/g0001_0100/s0048_rotate_image/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Math, Matrix, Big_O_Time_O(n^2)_Space_O(1) | 472 | 66.67 -#### Day 3 Linked List +#### Day 4 Array | | | | | | |-|-|-|-|-|- -| 0019 |[Remove Nth Node From End of List](src/main/scala/g0001_0100/s0019_remove_nth_node_from_end_of_list/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Two_Pointers, Linked_List, Big_O_Time_O(L)_Space_O(L) | 492 | 52.63 -| 0234 |[Palindrome Linked List](src/main/scala/g0201_0300/s0234_palindrome_linked_list/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Two_Pointers, Stack, Linked_List, Recursion, Big_O_Time_O(n)_Space_O(1) | 811 | 85.71 +| 0240 |[Search a 2D Matrix II](src/main/scala/g0201_0300/s0240_search_a_2d_matrix_ii/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Matrix, Divide_and_Conquer, Big_O_Time_O(n+m)_Space_O(1) | 579 | 66.67 -#### Day 4 Linked List +#### Day 5 Array | | | | | | |-|-|-|-|-|- -| 0148 |[Sort List](src/main/scala/g0101_0200/s0148_sort_list/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Sorting, Two_Pointers, Linked_List, Divide_and_Conquer, Merge_Sort, Big_O_Time_O(log(N))_Space_O(log(N)) | 745 | 75.00 +| 0238 |[Product of Array Except Self](src/main/scala/g0201_0300/s0238_product_of_array_except_self/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Prefix_Sum, Big_O_Time_O(n^2)_Space_O(n) | 634 | 79.44 +| 0560 |[Subarray Sum Equals K](src/main/scala/g0501_0600/s0560_subarray_sum_equals_k/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Hash_Table, Prefix_Sum, Big_O_Time_O(n)_Space_O(n) | 627 | 92.31 -#### Day 5 Greedy +#### Day 6 String | | | | | | |-|-|-|-|-|- -#### Day 6 Tree +#### Day 7 String | | | | | | |-|-|-|-|-|- -| 0226 |[Invert Binary Tree](src/main/scala/g0201_0300/s0226_invert_binary_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) | 421 | 97.33 +| 0763 |[Partition Labels](src/main/scala/g0701_0800/s0763_partition_labels/Solution.scala)| Medium | Top_100_Liked_Questions, String, Hash_Table, Greedy, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 442 | 100.00 -#### Day 7 Tree +#### Day 8 String | | | | | | |-|-|-|-|-|- -| 0543 |[Diameter of Binary Tree](src/main/scala/g0501_0600/s0543_diameter_of_binary_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Depth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) | 479 | 90.48 -| 0437 |[Path Sum III](src/main/scala/g0401_0500/s0437_path_sum_iii/Solution.scala)| Medium | Top_100_Liked_Questions, Depth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) | 498 | 90.91 +| 0049 |[Group Anagrams](src/main/scala/g0001_0100/s0049_group_anagrams/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, String, Hash_Table, Sorting, Big_O_Time_O(n\*k_log_k)_Space_O(n) | 618 | 91.67 -#### Day 8 Binary Search +#### Day 9 String | | | | | | |-|-|-|-|-|- -| 0074 |[Search a 2D Matrix](src/main/scala/g0001_0100/s0074_search_a_2d_matrix/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Matrix, Big_O_Time_O(endRow+endCol)_Space_O(1) | 478 | 83.33 -| 0033 |[Search in Rotated Sorted Array](src/main/scala/g0001_0100/s0033_search_in_rotated_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 453 | 91.53 +| 0005 |[Longest Palindromic Substring](src/main/scala/g0001_0100/s0005_longest_palindromic_substring/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) | 502 | 87.65 -#### Day 9 Binary Search Tree +#### Day 10 Linked List | | | | | | |-|-|-|-|-|- -| 0230 |[Kth Smallest Element in a BST](src/main/scala/g0201_0300/s0230_kth_smallest_element_in_a_bst/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Binary_Search_Tree, Big_O_Time_O(n)_Space_O(n) | 503 | 91.30 +| 0002 |[Add Two Numbers](src/main/scala/g0001_0100/s0002_add_two_numbers/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Math, Linked_List, Recursion, Big_O_Time_O(max(N,M))_Space_O(max(N,M)) | 571 | 75.12 +| 0142 |[Linked List Cycle II](src/main/scala/g0101_0200/s0142_linked_list_cycle_ii/Solution.scala)| Medium | Top_100_Liked_Questions, Hash_Table, Two_Pointers, Linked_List, Big_O_Time_O(N)_Space_O(1) | 501 | 61.54 -#### Day 10 Graph/BFS/DFS +#### Day 11 Linked List | | | | | | |-|-|-|-|-|- +| 0160 |[Intersection of Two Linked Lists](src/main/scala/g0101_0200/s0160_intersection_of_two_linked_lists/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Hash_Table, Two_Pointers, Linked_List, Big_O_Time_O(M+N)_Space_O(1) | 564 | 96.43 -#### Day 11 Graph/BFS/DFS +#### Day 12 Linked List | | | | | | |-|-|-|-|-|- +| 0024 |[Swap Nodes in Pairs](src/main/scala/g0001_0100/s0024_swap_nodes_in_pairs/Solution.scala)| Medium | Top_100_Liked_Questions, Linked_List, Recursion, Big_O_Time_O(n)_Space_O(1) | 441 | 95.65 -#### Day 12 Dynamic Programming +#### Day 13 Linked List | | | | | | |-|-|-|-|-|- -| 0198 |[House Robber](src/main/scala/g0101_0200/s0198_house_robber/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) | 426 | 98.04 -| 0322 |[Coin Change](src/main/scala/g0301_0400/s0322_coin_change/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Breadth_First_Search, Big_O_Time_O(m\*n)_Space_O(amount) | 533 | 84.21 +| 0025 |[Reverse Nodes in k-Group](src/main/scala/g0001_0100/s0025_reverse_nodes_in_k_group/Solution.scala)| Hard | Top_100_Liked_Questions, Linked_List, Recursion, Big_O_Time_O(n)_Space_O(k) | 520 | 80.00 -#### Day 13 Dynamic Programming +#### Day 14 Stack Queue | | | | | | |-|-|-|-|-|- -| 0416 |[Partition Equal Subset Sum](src/main/scala/g0401_0500/s0416_partition_equal_subset_sum/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Big_O_Time_O(n\*sums)_Space_O(n\*sums) | 577 | 100.00 -| 0152 |[Maximum Product Subarray](src/main/scala/g0101_0200/s0152_maximum_product_subarray/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(N)_Space_O(1) | 472 | 100.00 +| 0155 |[Min Stack](src/main/scala/g0101_0200/s0155_min_stack/MinStack.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Stack, Design, Big_O_Time_O(1)_Space_O(N) | 566 | 90.91 -#### Day 14 Sliding Window/Two Pointer +#### Day 15 Tree | | | | | | |-|-|-|-|-|- -| 0003 |[Longest Substring Without Repeating Characters](src/main/scala/g0001_0100/s0003_longest_substring_without_repeating_characters/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(n)_Space_O(1) | 482 | 96.91 -| 0076 |[Minimum Window Substring](src/main/scala/g0001_0100/s0076_minimum_window_substring/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(s.length())_Space_O(1) | 453 | 100.00 +| 0105 |[Construct Binary Tree from Preorder and Inorder Traversal](src/main/scala/g0101_0200/s0105_construct_binary_tree_from_preorder_and_inorder_traversal/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Tree, Binary_Tree, Divide_and_Conquer, Big_O_Time_O(N)_Space_O(N) | 564 | 91.67 -#### Day 15 Tree +#### Day 16 Tree | | | | | | |-|-|-|-|-|- -| 0101 |[Symmetric Tree](src/main/scala/g0101_0200/s0101_symmetric_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(log(N)) | 454 | 90.38 -#### Day 16 Design +#### Day 17 Tree | | | | | | |-|-|-|-|-|- -| 0155 |[Min Stack](src/main/scala/g0101_0200/s0155_min_stack/MinStack.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Stack, Design, Big_O_Time_O(1)_Space_O(N) | 566 | 90.91 -| 0208 |[Implement Trie (Prefix Tree)](src/main/scala/g0201_0300/s0208_implement_trie_prefix_tree/Trie.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Design, Trie, Big_O_Time_O(word.length())_or_O(prefix.length())_Space_O(N) | 610 | 100.00 +| 0230 |[Kth Smallest Element in a BST](src/main/scala/g0201_0300/s0230_kth_smallest_element_in_a_bst/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Binary_Search_Tree, Big_O_Time_O(n)_Space_O(n) | 503 | 91.30 -#### Day 17 Interval +#### Day 18 Tree | | | | | | |-|-|-|-|-|- -| 0056 |[Merge Intervals](src/main/scala/g0001_0100/s0056_merge_intervals/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Big_O_Time_O(n_log_n)_Space_O(n) | 583 | 90.91 +| 0236 |[Lowest Common Ancestor of a Binary Tree](src/main/scala/g0201_0300/s0236_lowest_common_ancestor_of_a_binary_tree/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) | 539 | 70.73 -#### Day 18 Stack +#### Day 19 Graph | | | | | | |-|-|-|-|-|- -#### Day 19 Union Find +#### Day 20 Heap Priority Queue | | | | | | |-|-|-|-|-|- +| 0215 |[Kth Largest Element in an Array](src/main/scala/g0201_0300/s0215_kth_largest_element_in_an_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Heap_Priority_Queue, Divide_and_Conquer, Quickselect, Big_O_Time_O(n\*log(n))_Space_O(log(n)) | 799 | 95.45 +| 0347 |[Top K Frequent Elements](src/main/scala/g0301_0400/s0347_top_k_frequent_elements/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Sorting, Heap_Priority_Queue, Counting, Divide_and_Conquer, Quickselect, Bucket_Sort, Big_O_Time_O(n\*log(n))_Space_O(k) | 589 | 93.24 -#### Day 20 Brute Force/Backtracking +#### Day 21 Heap Priority Queue | | | | | | |-|-|-|-|-|- -| 0039 |[Combination Sum](src/main/scala/g0001_0100/s0039_combination_sum/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Backtracking, Big_O_Time_O(2^n)_Space_O(n+2^n) | 488 | 97.50 -| 0046 |[Permutations](src/main/scala/g0001_0100/s0046_permutations/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Backtracking, Big_O_Time_O(n\*n!)_Space_O(n+n!) | 470 | 92.31 -### Udemy +### Algorithm I -#### Udemy Integers +#### Day 1 Binary Search | | | | | | |-|-|-|-|-|- -| 0136 |[Single Number](src/main/scala/g0101_0200/s0136_single_number/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Bit_Manipulation, Big_O_Time_O(N)_Space_O(1) | 530 | 78.57 -| 0007 |[Reverse Integer](src/main/scala/g0001_0100/s0007_reverse_integer/Solution.scala)| Medium | Top_Interview_Questions, Math | 405 | 90.16 -| 0009 |[Palindrome Number](src/main/scala/g0001_0100/s0009_palindrome_number/Solution.scala)| Easy | Math | 453 | 99.49 +| 0035 |[Search Insert Position](src/main/scala/g0001_0100/s0035_search_insert_position/Solution.scala)| Easy | Top_100_Liked_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 466 | 87.04 -#### Udemy Strings +#### Day 2 Two Pointers | | | | | | |-|-|-|-|-|- -| 0003 |[Longest Substring Without Repeating Characters](src/main/scala/g0001_0100/s0003_longest_substring_without_repeating_characters/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(n)_Space_O(1) | 482 | 96.91 -| 0020 |[Valid Parentheses](src/main/scala/g0001_0100/s0020_valid_parentheses/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, String, Stack, Big_O_Time_O(n)_Space_O(n) | 449 | 65.58 -| 0005 |[Longest Palindromic Substring](src/main/scala/g0001_0100/s0005_longest_palindromic_substring/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) | 502 | 87.65 -| 0394 |[Decode String](src/main/scala/g0301_0400/s0394_decode_string/Solution.scala)| Medium | Top_100_Liked_Questions, String, Stack, Recursion, Big_O_Time_O(n)_Space_O(n) | 449 | 50.00 -| 0049 |[Group Anagrams](src/main/scala/g0001_0100/s0049_group_anagrams/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, String, Hash_Table, Sorting, Big_O_Time_O(n\*k_log_k)_Space_O(n) | 618 | 91.67 +| 0189 |[Rotate Array](src/main/scala/g0101_0200/s0189_rotate_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Math, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 600 | 96.59 -#### Udemy Binary Search +#### Day 3 Two Pointers | | | | | | |-|-|-|-|-|- -| 0033 |[Search in Rotated Sorted Array](src/main/scala/g0001_0100/s0033_search_in_rotated_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 453 | 91.53 -| 0153 |[Find Minimum in Rotated Sorted Array](src/main/scala/g0101_0200/s0153_find_minimum_in_rotated_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Big_O_Time_O(log_N)_Space_O(log_N) | 457 | 78.79 +| 0283 |[Move Zeroes](src/main/scala/g0201_0300/s0283_move_zeroes/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 572 | 86.11 -#### Udemy Arrays +#### Day 4 Two Pointers | | | | | | |-|-|-|-|-|- -| 0121 |[Best Time to Buy and Sell Stock](src/main/scala/g0101_0200/s0121_best_time_to_buy_and_sell_stock/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(N)_Space_O(1) | 762 | 98.45 -| 0283 |[Move Zeroes](src/main/scala/g0201_0300/s0283_move_zeroes/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 572 | 86.11 -| 0001 |[Two Sum](src/main/scala/g0001_0100/s0001_two_sum/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Big_O_Time_O(n)_Space_O(n) | 517 | 86.66 -| 0189 |[Rotate Array](src/main/scala/g0101_0200/s0189_rotate_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Math, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 600 | 96.59 -| 0055 |[Jump Game](src/main/scala/g0001_0100/s0055_jump_game/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) | 622 | 88.31 -| 0075 |[Sort Colors](src/main/scala/g0001_0100/s0075_sort_colors/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 450 | 84.21 -| 0238 |[Product of Array Except Self](src/main/scala/g0201_0300/s0238_product_of_array_except_self/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Prefix_Sum, Big_O_Time_O(n^2)_Space_O(n) | 634 | 79.44 -| 0041 |[First Missing Positive](src/main/scala/g0001_0100/s0041_first_missing_positive/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Big_O_Time_O(n)_Space_O(n) | 650 | 100.00 -| 0239 |[Sliding Window Maximum](src/main/scala/g0201_0300/s0239_sliding_window_maximum/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, Array, Heap_Priority_Queue, Sliding_Window, Queue, Monotonic_Queue, Big_O_Time_O(n\*k)_Space_O(n+k) | 1149 | 86.67 -#### Udemy Two Pointers +#### Day 5 Two Pointers | | | | | | |-|-|-|-|-|- -| 0042 |[Trapping Rain Water](src/main/scala/g0001_0100/s0042_trapping_rain_water/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Two_Pointers, Stack, Monotonic_Stack, Big_O_Time_O(n)_Space_O(1) | 521 | 87.88 -| 0015 |[3Sum](src/main/scala/g0001_0100/s0015_3sum/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Two_Pointers, Big_O_Time_O(n\*log(n))_Space_O(n^2) | 721 | 95.24 +| 0019 |[Remove Nth Node From End of List](src/main/scala/g0001_0100/s0019_remove_nth_node_from_end_of_list/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Two_Pointers, Linked_List, Big_O_Time_O(L)_Space_O(L) | 492 | 52.63 -#### Udemy Famous Algorithm +#### Day 6 Sliding Window | | | | | | |-|-|-|-|-|- -| 0053 |[Maximum Subarray](src/main/scala/g0001_0100/s0053_maximum_subarray/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Divide_and_Conquer, Big_O_Time_O(n)_Space_O(1) | 766 | 84.95 -| 0169 |[Majority Element](src/main/scala/g0101_0200/s0169_majority_element/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Sorting, Counting, Divide_and_Conquer, Big_O_Time_O(n)_Space_O(1) | 538 | 92.57 +| 0003 |[Longest Substring Without Repeating Characters](src/main/scala/g0001_0100/s0003_longest_substring_without_repeating_characters/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(n)_Space_O(1) | 482 | 96.91 -#### Udemy Sorting Algorithms +#### Day 7 Breadth First Search Depth First Search | | | | | | |-|-|-|-|-|- -#### Udemy 2D Arrays/Matrix +#### Day 8 Breadth First Search Depth First Search | | | | | | |-|-|-|-|-|- -| 0074 |[Search a 2D Matrix](src/main/scala/g0001_0100/s0074_search_a_2d_matrix/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Matrix, Big_O_Time_O(endRow+endCol)_Space_O(1) | 478 | 83.33 -| 0048 |[Rotate Image](src/main/scala/g0001_0100/s0048_rotate_image/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Math, Matrix, Big_O_Time_O(n^2)_Space_O(1) | 472 | 66.67 -| 0073 |[Set Matrix Zeroes](src/main/scala/g0001_0100/s0073_set_matrix_zeroes/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Matrix, Big_O_Time_O(m\*n)_Space_O(1) | 557 | 90.91 -| 0056 |[Merge Intervals](src/main/scala/g0001_0100/s0056_merge_intervals/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Big_O_Time_O(n_log_n)_Space_O(n) | 583 | 90.91 -#### Udemy Linked List +#### Day 9 Breadth First Search Depth First Search + +| | | | | | +|-|-|-|-|-|- + +#### Day 10 Recursion Backtracking | | | | | | |-|-|-|-|-|- -| 0114 |[Flatten Binary Tree to Linked List](src/main/scala/g0101_0200/s0114_flatten_binary_tree_to_linked_list/Solution.scala)| Medium | Top_100_Liked_Questions, Depth_First_Search, Tree, Binary_Tree, Stack, Linked_List, Big_O_Time_O(N)_Space_O(N) | 491 | 54.17 -| 0024 |[Swap Nodes in Pairs](src/main/scala/g0001_0100/s0024_swap_nodes_in_pairs/Solution.scala)| Medium | Top_100_Liked_Questions, Linked_List, Recursion, Big_O_Time_O(n)_Space_O(1) | 441 | 95.65 -| 0142 |[Linked List Cycle II](src/main/scala/g0101_0200/s0142_linked_list_cycle_ii/Solution.scala)| Medium | Top_100_Liked_Questions, Hash_Table, Two_Pointers, Linked_List, Big_O_Time_O(N)_Space_O(1) | 501 | 61.54 -| 0141 |[Linked List Cycle](src/main/scala/g0101_0200/s0141_linked_list_cycle/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Hash_Table, Two_Pointers, Linked_List, Big_O_Time_O(N)_Space_O(1) | 503 | 84.25 -| 0206 |[Reverse Linked List](src/main/scala/g0201_0300/s0206_reverse_linked_list/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(N)_Space_O(1) | 474 | 87.50 | 0021 |[Merge Two Sorted Lists](src/main/scala/g0001_0100/s0021_merge_two_sorted_lists/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(m+n)_Space_O(m+n) | 480 | 89.72 -| 0160 |[Intersection of Two Linked Lists](src/main/scala/g0101_0200/s0160_intersection_of_two_linked_lists/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Hash_Table, Two_Pointers, Linked_List, Big_O_Time_O(M+N)_Space_O(1) | 564 | 96.43 -| 0234 |[Palindrome Linked List](src/main/scala/g0201_0300/s0234_palindrome_linked_list/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Two_Pointers, Stack, Linked_List, Recursion, Big_O_Time_O(n)_Space_O(1) | 811 | 85.71 -| 0138 |[Copy List with Random Pointer](src/main/scala/g0101_0200/s0138_copy_list_with_random_pointer/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Hash_Table, Linked_List, Big_O_Time_O(N)_Space_O(N) | 477 | 96.00 -| 0025 |[Reverse Nodes in k-Group](src/main/scala/g0001_0100/s0025_reverse_nodes_in_k_group/Solution.scala)| Hard | Top_100_Liked_Questions, Linked_List, Recursion, Big_O_Time_O(n)_Space_O(k) | 520 | 80.00 -| 0146 |[LRU Cache](src/main/scala/g0101_0200/s0146_lru_cache/LRUCache.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Hash_Table, Design, Linked_List, Doubly_Linked_List, Big_O_Time_O(1)_Space_O(capacity) | 1590 | 85.19 +| 0206 |[Reverse Linked List](src/main/scala/g0201_0300/s0206_reverse_linked_list/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(N)_Space_O(1) | 474 | 87.50 -#### Udemy Tree Stack Queue +#### Day 11 Recursion Backtracking | | | | | | |-|-|-|-|-|- -| 0094 |[Binary Tree Inorder Traversal](src/main/scala/g0001_0100/s0094_binary_tree_inorder_traversal/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Stack, Big_O_Time_O(n)_Space_O(n) | 456 | 68.42 -| 0102 |[Binary Tree Level Order Traversal](src/main/scala/g0101_0200/s0102_binary_tree_level_order_traversal/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(N) | 522 | 83.33 -| 0543 |[Diameter of Binary Tree](src/main/scala/g0501_0600/s0543_diameter_of_binary_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Depth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) | 479 | 90.48 -| 0226 |[Invert Binary Tree](src/main/scala/g0201_0300/s0226_invert_binary_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) | 421 | 97.33 -| 0104 |[Maximum Depth of Binary Tree](src/main/scala/g0101_0200/s0104_maximum_depth_of_binary_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(H) | 472 | 90.83 -| 0124 |[Binary Tree Maximum Path Sum](src/main/scala/g0101_0200/s0124_binary_tree_maximum_path_sum/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Depth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(N) | 523 | 89.47 -| 0098 |[Validate Binary Search Tree](src/main/scala/g0001_0100/s0098_validate_binary_search_tree/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Binary_Search_Tree, Big_O_Time_O(N)_Space_O(log(N)) | 507 | 70.21 -| 0236 |[Lowest Common Ancestor of a Binary Tree](src/main/scala/g0201_0300/s0236_lowest_common_ancestor_of_a_binary_tree/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) | 539 | 70.73 +| 0046 |[Permutations](src/main/scala/g0001_0100/s0046_permutations/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Backtracking, Big_O_Time_O(n\*n!)_Space_O(n+n!) | 470 | 92.31 -#### Udemy Trie and Heap +#### Day 12 Dynamic Programming | | | | | | |-|-|-|-|-|- -| 0208 |[Implement Trie (Prefix Tree)](src/main/scala/g0201_0300/s0208_implement_trie_prefix_tree/Trie.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Design, Trie, Big_O_Time_O(word.length())_or_O(prefix.length())_Space_O(N) | 610 | 100.00 +| 0070 |[Climbing Stairs](src/main/scala/g0001_0100/s0070_climbing_stairs/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Memoization, Big_O_Time_O(n)_Space_O(n) | 369 | 98.32 +| 0198 |[House Robber](src/main/scala/g0101_0200/s0198_house_robber/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) | 426 | 98.04 -#### Udemy Graph +#### Day 13 Bit Manipulation | | | | | | |-|-|-|-|-|- -| 0200 |[Number of Islands](src/main/scala/g0101_0200/s0200_number_of_islands/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Depth_First_Search, Breadth_First_Search, Matrix, Union_Find, Big_O_Time_O(M\*N)_Space_O(M\*N) | 537 | 93.18 -#### Udemy Dynamic Programming +#### Day 14 Bit Manipulation | | | | | | |-|-|-|-|-|- -| 0139 |[Word Break](src/main/scala/g0101_0200/s0139_word_break/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Dynamic_Programming, Trie, Memoization, Big_O_Time_O(M+max\*N)_Space_O(M+N+max) | 482 | 66.67 -| 0152 |[Maximum Product Subarray](src/main/scala/g0101_0200/s0152_maximum_product_subarray/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(N)_Space_O(1) | 472 | 100.00 -| 0198 |[House Robber](src/main/scala/g0101_0200/s0198_house_robber/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) | 426 | 98.04 -| 0070 |[Climbing Stairs](src/main/scala/g0001_0100/s0070_climbing_stairs/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Memoization, Big_O_Time_O(n)_Space_O(n) | 369 | 98.32 -| 0064 |[Minimum Path Sum](src/main/scala/g0001_0100/s0064_minimum_path_sum/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Matrix, Big_O_Time_O(m\*n)_Space_O(m\*n) | 521 | 92.86 -| 0300 |[Longest Increasing Subsequence](src/main/scala/g0201_0300/s0300_longest_increasing_subsequence/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Binary_Search, Big_O_Time_O(n\*log_n)_Space_O(n) | 522 | 88.89 -| 1143 |[Longest Common Subsequence](src/main/scala/g1101_1200/s1143_longest_common_subsequence/Solution.scala)| Medium | Top_100_Liked_Questions, String, Dynamic_Programming, Big_O_Time_O(n\*m)_Space_O(n\*m) | 507 | 100.00 -| 0072 |[Edit Distance](src/main/scala/g0001_0100/s0072_edit_distance/Solution.scala)| Hard | Top_100_Liked_Questions, String, Dynamic_Programming, Big_O_Time_O(n^2)_Space_O(n2) | 487 | 100.00 -| 0010 |[Regular Expression Matching](src/main/scala/g0001_0100/s0010_regular_expression_matching/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Recursion, Big_O_Time_O(m\*n)_Space_O(m\*n) | 459 | 75.00 +| 0136 |[Single Number](src/main/scala/g0101_0200/s0136_single_number/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Bit_Manipulation, Big_O_Time_O(N)_Space_O(1) | 530 | 78.57 -#### Udemy Backtracking/Recursion +### Algorithm II + +#### Day 1 Binary Search | | | | | | |-|-|-|-|-|- -| 0022 |[Generate Parentheses](src/main/scala/g0001_0100/s0022_generate_parentheses/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Backtracking, Big_O_Time_O(2^n)_Space_O(n) | 380 | 100.00 -| 0039 |[Combination Sum](src/main/scala/g0001_0100/s0039_combination_sum/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Backtracking, Big_O_Time_O(2^n)_Space_O(n+2^n) | 488 | 97.50 -| 0078 |[Subsets](src/main/scala/g0001_0100/s0078_subsets/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Bit_Manipulation, Backtracking, Big_O_Time_O(2^n)_Space_O(n\*2^n) | 452 | 87.50 -| 0017 |[Letter Combinations of a Phone Number](src/main/scala/g0001_0100/s0017_letter_combinations_of_a_phone_number/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Backtracking, Big_O_Time_O(4^n)_Space_O(n) | 459 | 58.54 -| 0046 |[Permutations](src/main/scala/g0001_0100/s0046_permutations/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Backtracking, Big_O_Time_O(n\*n!)_Space_O(n+n!) | 470 | 92.31 +| 0034 |[Find First and Last Position of Element in Sorted Array](src/main/scala/g0001_0100/s0034_find_first_and_last_position_of_element_in_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 478 | 97.85 +| 0033 |[Search in Rotated Sorted Array](src/main/scala/g0001_0100/s0033_search_in_rotated_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 453 | 91.53 +| 0074 |[Search a 2D Matrix](src/main/scala/g0001_0100/s0074_search_a_2d_matrix/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Matrix, Big_O_Time_O(endRow+endCol)_Space_O(1) | 478 | 83.33 -#### Udemy Bit Manipulation +#### Day 2 Binary Search | | | | | | |-|-|-|-|-|- -| 0338 |[Counting Bits](src/main/scala/g0301_0400/s0338_counting_bits/Solution.scala)| Easy | Top_100_Liked_Questions, Dynamic_Programming, Bit_Manipulation, Big_O_Time_O(num)_Space_O(num) | 447 | 92.68 +| 0153 |[Find Minimum in Rotated Sorted Array](src/main/scala/g0101_0200/s0153_find_minimum_in_rotated_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Big_O_Time_O(log_N)_Space_O(log_N) | 457 | 78.79 -#### Udemy Design +#### Day 3 Two Pointers | | | | | | |-|-|-|-|-|- -| 0155 |[Min Stack](src/main/scala/g0101_0200/s0155_min_stack/MinStack.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Stack, Design, Big_O_Time_O(1)_Space_O(N) | 566 | 90.91 +| 0015 |[3Sum](src/main/scala/g0001_0100/s0015_3sum/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Two_Pointers, Big_O_Time_O(n\*log(n))_Space_O(n^2) | 721 | 95.24 -### Data Structure I +#### Day 4 Two Pointers -#### Day 1 Array +| | | | | | +|-|-|-|-|-|- +| 0011 |[Container With Most Water](src/main/scala/g0001_0100/s0011_container_with_most_water/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Greedy, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 683 | 99.13 + +#### Day 5 Sliding Window | | | | | | |-|-|-|-|-|- -| 0053 |[Maximum Subarray](src/main/scala/g0001_0100/s0053_maximum_subarray/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Divide_and_Conquer, Big_O_Time_O(n)_Space_O(1) | 766 | 84.95 +| 0438 |[Find All Anagrams in a String](src/main/scala/g0401_0500/s0438_find_all_anagrams_in_a_string/Solution.scala)| Medium | Top_100_Liked_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(n+m)_Space_O(1) | 576 | 100.00 -#### Day 2 Array +#### Day 6 Breadth First Search Depth First Search | | | | | | |-|-|-|-|-|- -| 0001 |[Two Sum](src/main/scala/g0001_0100/s0001_two_sum/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Big_O_Time_O(n)_Space_O(n) | 517 | 86.66 +| 0200 |[Number of Islands](src/main/scala/g0101_0200/s0200_number_of_islands/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Depth_First_Search, Breadth_First_Search, Matrix, Union_Find, Big_O_Time_O(M\*N)_Space_O(M\*N) | 537 | 93.18 -#### Day 3 Array +#### Day 7 Breadth First Search Depth First Search | | | | | | |-|-|-|-|-|- -| 0121 |[Best Time to Buy and Sell Stock](src/main/scala/g0101_0200/s0121_best_time_to_buy_and_sell_stock/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(N)_Space_O(1) | 762 | 98.45 -#### Day 4 Array +#### Day 8 Breadth First Search Depth First Search | | | | | | |-|-|-|-|-|- -#### Day 5 Array +#### Day 9 Recursion Backtracking | | | | | | |-|-|-|-|-|- -| 0074 |[Search a 2D Matrix](src/main/scala/g0001_0100/s0074_search_a_2d_matrix/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Matrix, Big_O_Time_O(endRow+endCol)_Space_O(1) | 478 | 83.33 +| 0078 |[Subsets](src/main/scala/g0001_0100/s0078_subsets/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Bit_Manipulation, Backtracking, Big_O_Time_O(2^n)_Space_O(n\*2^n) | 452 | 87.50 -#### Day 6 String +#### Day 10 Recursion Backtracking | | | | | | |-|-|-|-|-|- +| 0039 |[Combination Sum](src/main/scala/g0001_0100/s0039_combination_sum/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Backtracking, Big_O_Time_O(2^n)_Space_O(n+2^n) | 488 | 97.50 -#### Day 7 Linked List +#### Day 11 Recursion Backtracking | | | | | | |-|-|-|-|-|- -| 0141 |[Linked List Cycle](src/main/scala/g0101_0200/s0141_linked_list_cycle/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Hash_Table, Two_Pointers, Linked_List, Big_O_Time_O(N)_Space_O(1) | 503 | 84.25 -| 0021 |[Merge Two Sorted Lists](src/main/scala/g0001_0100/s0021_merge_two_sorted_lists/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(m+n)_Space_O(m+n) | 480 | 89.72 +| 0017 |[Letter Combinations of a Phone Number](src/main/scala/g0001_0100/s0017_letter_combinations_of_a_phone_number/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Backtracking, Big_O_Time_O(4^n)_Space_O(n) | 459 | 58.54 +| 0022 |[Generate Parentheses](src/main/scala/g0001_0100/s0022_generate_parentheses/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Backtracking, Big_O_Time_O(2^n)_Space_O(n) | 380 | 100.00 +| 0079 |[Word Search](src/main/scala/g0001_0100/s0079_word_search/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Matrix, Backtracking, Big_O_Time_O(4^(m\*n))_Space_O(m\*n) | 783 | 94.87 -#### Day 8 Linked List +#### Day 12 Dynamic Programming | | | | | | |-|-|-|-|-|- -| 0206 |[Reverse Linked List](src/main/scala/g0201_0300/s0206_reverse_linked_list/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(N)_Space_O(1) | 474 | 87.50 +| 0055 |[Jump Game](src/main/scala/g0001_0100/s0055_jump_game/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) | 622 | 88.31 -#### Day 9 Stack Queue +#### Day 13 Dynamic Programming | | | | | | |-|-|-|-|-|- -| 0020 |[Valid Parentheses](src/main/scala/g0001_0100/s0020_valid_parentheses/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, String, Stack, Big_O_Time_O(n)_Space_O(n) | 449 | 65.58 +| 0045 |[Jump Game II](src/main/scala/g0001_0100/s0045_jump_game_ii/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) | 510 | 88.52 +| 0062 |[Unique Paths](src/main/scala/g0001_0100/s0062_unique_paths/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Combinatorics, Big_O_Time_O(m\*n)_Space_O(m\*n) | 405 | 70.18 -#### Day 10 Tree +#### Day 14 Dynamic Programming | | | | | | |-|-|-|-|-|- -| 0094 |[Binary Tree Inorder Traversal](src/main/scala/g0001_0100/s0094_binary_tree_inorder_traversal/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Stack, Big_O_Time_O(n)_Space_O(n) | 456 | 68.42 +| 0005 |[Longest Palindromic Substring](src/main/scala/g0001_0100/s0005_longest_palindromic_substring/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) | 502 | 87.65 -#### Day 11 Tree +#### Day 15 Dynamic Programming | | | | | | |-|-|-|-|-|- -| 0102 |[Binary Tree Level Order Traversal](src/main/scala/g0101_0200/s0102_binary_tree_level_order_traversal/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(N) | 522 | 83.33 -| 0104 |[Maximum Depth of Binary Tree](src/main/scala/g0101_0200/s0104_maximum_depth_of_binary_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(H) | 472 | 90.83 -| 0101 |[Symmetric Tree](src/main/scala/g0101_0200/s0101_symmetric_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(log(N)) | 454 | 90.38 +| 0139 |[Word Break](src/main/scala/g0101_0200/s0139_word_break/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Dynamic_Programming, Trie, Memoization, Big_O_Time_O(M+max\*N)_Space_O(M+N+max) | 482 | 66.67 -#### Day 12 Tree +#### Day 16 Dynamic Programming | | | | | | |-|-|-|-|-|- -| 0226 |[Invert Binary Tree](src/main/scala/g0201_0300/s0226_invert_binary_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) | 421 | 97.33 +| 0300 |[Longest Increasing Subsequence](src/main/scala/g0201_0300/s0300_longest_increasing_subsequence/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Binary_Search, Big_O_Time_O(n\*log_n)_Space_O(n) | 522 | 88.89 -#### Day 13 Tree +#### Day 17 Dynamic Programming | | | | | | |-|-|-|-|-|- +| 1143 |[Longest Common Subsequence](src/main/scala/g1101_1200/s1143_longest_common_subsequence/Solution.scala)| Medium | Top_100_Liked_Questions, String, Dynamic_Programming, Big_O_Time_O(n\*m)_Space_O(n\*m) | 507 | 100.00 -#### Day 14 Tree +#### Day 18 Dynamic Programming | | | | | | |-|-|-|-|-|- -| 0098 |[Validate Binary Search Tree](src/main/scala/g0001_0100/s0098_validate_binary_search_tree/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Binary_Search_Tree, Big_O_Time_O(N)_Space_O(log(N)) | 507 | 70.21 - -### Data Structure II +| 0072 |[Edit Distance](src/main/scala/g0001_0100/s0072_edit_distance/Solution.scala)| Hard | Top_100_Liked_Questions, String, Dynamic_Programming, Big_O_Time_O(n^2)_Space_O(n2) | 487 | 100.00 +| 0322 |[Coin Change](src/main/scala/g0301_0400/s0322_coin_change/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Breadth_First_Search, Big_O_Time_O(m\*n)_Space_O(amount) | 533 | 84.21 -#### Day 1 Array +#### Day 19 Bit Manipulation | | | | | | |-|-|-|-|-|- -| 0136 |[Single Number](src/main/scala/g0101_0200/s0136_single_number/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Bit_Manipulation, Big_O_Time_O(N)_Space_O(1) | 530 | 78.57 -| 0169 |[Majority Element](src/main/scala/g0101_0200/s0169_majority_element/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Sorting, Counting, Divide_and_Conquer, Big_O_Time_O(n)_Space_O(1) | 538 | 92.57 -| 0015 |[3Sum](src/main/scala/g0001_0100/s0015_3sum/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Two_Pointers, Big_O_Time_O(n\*log(n))_Space_O(n^2) | 721 | 95.24 -#### Day 2 Array +#### Day 20 Others | | | | | | |-|-|-|-|-|- -| 0075 |[Sort Colors](src/main/scala/g0001_0100/s0075_sort_colors/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 450 | 84.21 -| 0056 |[Merge Intervals](src/main/scala/g0001_0100/s0056_merge_intervals/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Big_O_Time_O(n_log_n)_Space_O(n) | 583 | 90.91 -#### Day 3 Array +#### Day 21 Others | | | | | | |-|-|-|-|-|- -| 0048 |[Rotate Image](src/main/scala/g0001_0100/s0048_rotate_image/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Math, Matrix, Big_O_Time_O(n^2)_Space_O(1) | 472 | 66.67 -#### Day 4 Array +### Binary Search I + +#### Day 1 | | | | | | |-|-|-|-|-|- -| 0240 |[Search a 2D Matrix II](src/main/scala/g0201_0300/s0240_search_a_2d_matrix_ii/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Matrix, Divide_and_Conquer, Big_O_Time_O(n+m)_Space_O(1) | 579 | 66.67 -#### Day 5 Array +#### Day 2 | | | | | | |-|-|-|-|-|- -| 0238 |[Product of Array Except Self](src/main/scala/g0201_0300/s0238_product_of_array_except_self/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Prefix_Sum, Big_O_Time_O(n^2)_Space_O(n) | 634 | 79.44 -| 0560 |[Subarray Sum Equals K](src/main/scala/g0501_0600/s0560_subarray_sum_equals_k/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Hash_Table, Prefix_Sum, Big_O_Time_O(n)_Space_O(n) | 627 | 92.31 +| 0035 |[Search Insert Position](src/main/scala/g0001_0100/s0035_search_insert_position/Solution.scala)| Easy | Top_100_Liked_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 466 | 87.04 -#### Day 6 String +#### Day 3 | | | | | | |-|-|-|-|-|- -#### Day 7 String +#### Day 4 | | | | | | |-|-|-|-|-|- -| 0763 |[Partition Labels](src/main/scala/g0701_0800/s0763_partition_labels/Solution.scala)| Medium | Top_100_Liked_Questions, String, Hash_Table, Greedy, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 442 | 100.00 -#### Day 8 String +#### Day 5 | | | | | | |-|-|-|-|-|- -| 0049 |[Group Anagrams](src/main/scala/g0001_0100/s0049_group_anagrams/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, String, Hash_Table, Sorting, Big_O_Time_O(n\*k_log_k)_Space_O(n) | 618 | 91.67 +| 0034 |[Find First and Last Position of Element in Sorted Array](src/main/scala/g0001_0100/s0034_find_first_and_last_position_of_element_in_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 478 | 97.85 -#### Day 9 String +#### Day 6 | | | | | | |-|-|-|-|-|- -| 0005 |[Longest Palindromic Substring](src/main/scala/g0001_0100/s0005_longest_palindromic_substring/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) | 502 | 87.65 -#### Day 10 Linked List +#### Day 7 | | | | | | |-|-|-|-|-|- -| 0002 |[Add Two Numbers](src/main/scala/g0001_0100/s0002_add_two_numbers/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Math, Linked_List, Recursion, Big_O_Time_O(max(N,M))_Space_O(max(N,M)) | 571 | 75.12 -| 0142 |[Linked List Cycle II](src/main/scala/g0101_0200/s0142_linked_list_cycle_ii/Solution.scala)| Medium | Top_100_Liked_Questions, Hash_Table, Two_Pointers, Linked_List, Big_O_Time_O(N)_Space_O(1) | 501 | 61.54 -#### Day 11 Linked List +#### Day 8 | | | | | | |-|-|-|-|-|- -| 0160 |[Intersection of Two Linked Lists](src/main/scala/g0101_0200/s0160_intersection_of_two_linked_lists/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Hash_Table, Two_Pointers, Linked_List, Big_O_Time_O(M+N)_Space_O(1) | 564 | 96.43 +| 0074 |[Search a 2D Matrix](src/main/scala/g0001_0100/s0074_search_a_2d_matrix/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Matrix, Big_O_Time_O(endRow+endCol)_Space_O(1) | 478 | 83.33 -#### Day 12 Linked List +#### Day 9 | | | | | | |-|-|-|-|-|- -| 0024 |[Swap Nodes in Pairs](src/main/scala/g0001_0100/s0024_swap_nodes_in_pairs/Solution.scala)| Medium | Top_100_Liked_Questions, Linked_List, Recursion, Big_O_Time_O(n)_Space_O(1) | 441 | 95.65 -#### Day 13 Linked List +#### Day 10 | | | | | | |-|-|-|-|-|- -| 0025 |[Reverse Nodes in k-Group](src/main/scala/g0001_0100/s0025_reverse_nodes_in_k_group/Solution.scala)| Hard | Top_100_Liked_Questions, Linked_List, Recursion, Big_O_Time_O(n)_Space_O(k) | 520 | 80.00 -#### Day 14 Stack Queue +#### Day 11 | | | | | | |-|-|-|-|-|- -| 0155 |[Min Stack](src/main/scala/g0101_0200/s0155_min_stack/MinStack.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Stack, Design, Big_O_Time_O(1)_Space_O(N) | 566 | 90.91 +| 0033 |[Search in Rotated Sorted Array](src/main/scala/g0001_0100/s0033_search_in_rotated_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 453 | 91.53 -#### Day 15 Tree +#### Day 12 | | | | | | |-|-|-|-|-|- -| 0105 |[Construct Binary Tree from Preorder and Inorder Traversal](src/main/scala/g0101_0200/s0105_construct_binary_tree_from_preorder_and_inorder_traversal/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Tree, Binary_Tree, Divide_and_Conquer, Big_O_Time_O(N)_Space_O(N) | 564 | 91.67 +| 0153 |[Find Minimum in Rotated Sorted Array](src/main/scala/g0101_0200/s0153_find_minimum_in_rotated_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Big_O_Time_O(log_N)_Space_O(log_N) | 457 | 78.79 -#### Day 16 Tree +### Binary Search II + +#### Day 1 | | | | | | |-|-|-|-|-|- -#### Day 17 Tree +#### Day 2 | | | | | | |-|-|-|-|-|- -| 0230 |[Kth Smallest Element in a BST](src/main/scala/g0201_0300/s0230_kth_smallest_element_in_a_bst/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Binary_Search_Tree, Big_O_Time_O(n)_Space_O(n) | 503 | 91.30 -#### Day 18 Tree +#### Day 3 | | | | | | |-|-|-|-|-|- -| 0236 |[Lowest Common Ancestor of a Binary Tree](src/main/scala/g0201_0300/s0236_lowest_common_ancestor_of_a_binary_tree/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) | 539 | 70.73 +| 0300 |[Longest Increasing Subsequence](src/main/scala/g0201_0300/s0300_longest_increasing_subsequence/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Binary_Search, Big_O_Time_O(n\*log_n)_Space_O(n) | 522 | 88.89 -#### Day 19 Graph +#### Day 4 | | | | | | |-|-|-|-|-|- -#### Day 20 Heap Priority Queue +#### Day 5 | | | | | | |-|-|-|-|-|- -| 0215 |[Kth Largest Element in an Array](src/main/scala/g0201_0300/s0215_kth_largest_element_in_an_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Heap_Priority_Queue, Divide_and_Conquer, Quickselect, Big_O_Time_O(n\*log(n))_Space_O(log(n)) | 799 | 95.45 -| 0347 |[Top K Frequent Elements](src/main/scala/g0301_0400/s0347_top_k_frequent_elements/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Sorting, Heap_Priority_Queue, Counting, Divide_and_Conquer, Quickselect, Bucket_Sort, Big_O_Time_O(n\*log(n))_Space_O(k) | 589 | 93.24 +| 0287 |[Find the Duplicate Number](src/main/scala/g0201_0300/s0287_find_the_duplicate_number/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Two_Pointers, Bit_Manipulation, Big_O_Time_O(n)_Space_O(n) | 765 | 77.38 -#### Day 21 Heap Priority Queue +#### Day 6 | | | | | | |-|-|-|-|-|- -### Algorithm I - -#### Day 1 Binary Search +#### Day 7 | | | | | | |-|-|-|-|-|- -| 0035 |[Search Insert Position](src/main/scala/g0001_0100/s0035_search_insert_position/Solution.scala)| Easy | Top_100_Liked_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 466 | 87.04 -#### Day 2 Two Pointers +#### Day 8 | | | | | | |-|-|-|-|-|- -| 0189 |[Rotate Array](src/main/scala/g0101_0200/s0189_rotate_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Math, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 600 | 96.59 +| 0240 |[Search a 2D Matrix II](src/main/scala/g0201_0300/s0240_search_a_2d_matrix_ii/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Matrix, Divide_and_Conquer, Big_O_Time_O(n+m)_Space_O(1) | 579 | 66.67 -#### Day 3 Two Pointers +#### Day 9 | | | | | | |-|-|-|-|-|- -| 0283 |[Move Zeroes](src/main/scala/g0201_0300/s0283_move_zeroes/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 572 | 86.11 -#### Day 4 Two Pointers +#### Day 10 | | | | | | |-|-|-|-|-|- -#### Day 5 Two Pointers +#### Day 11 | | | | | | |-|-|-|-|-|- -| 0019 |[Remove Nth Node From End of List](src/main/scala/g0001_0100/s0019_remove_nth_node_from_end_of_list/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Two_Pointers, Linked_List, Big_O_Time_O(L)_Space_O(L) | 492 | 52.63 -#### Day 6 Sliding Window +#### Day 12 | | | | | | |-|-|-|-|-|- -| 0003 |[Longest Substring Without Repeating Characters](src/main/scala/g0001_0100/s0003_longest_substring_without_repeating_characters/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(n)_Space_O(1) | 482 | 96.91 -#### Day 7 Breadth First Search Depth First Search +#### Day 13 | | | | | | |-|-|-|-|-|- -#### Day 8 Breadth First Search Depth First Search +#### Day 14 | | | | | | |-|-|-|-|-|- -#### Day 9 Breadth First Search Depth First Search +#### Day 15 | | | | | | |-|-|-|-|-|- -#### Day 10 Recursion Backtracking +#### Day 16 | | | | | | |-|-|-|-|-|- -| 0021 |[Merge Two Sorted Lists](src/main/scala/g0001_0100/s0021_merge_two_sorted_lists/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(m+n)_Space_O(m+n) | 480 | 89.72 -| 0206 |[Reverse Linked List](src/main/scala/g0201_0300/s0206_reverse_linked_list/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(N)_Space_O(1) | 474 | 87.50 -#### Day 11 Recursion Backtracking +#### Day 17 | | | | | | |-|-|-|-|-|- -| 0046 |[Permutations](src/main/scala/g0001_0100/s0046_permutations/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Backtracking, Big_O_Time_O(n\*n!)_Space_O(n+n!) | 470 | 92.31 -#### Day 12 Dynamic Programming +#### Day 18 | | | | | | |-|-|-|-|-|- -| 0070 |[Climbing Stairs](src/main/scala/g0001_0100/s0070_climbing_stairs/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Memoization, Big_O_Time_O(n)_Space_O(n) | 369 | 98.32 -| 0198 |[House Robber](src/main/scala/g0101_0200/s0198_house_robber/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) | 426 | 98.04 -#### Day 13 Bit Manipulation +#### Day 19 | | | | | | |-|-|-|-|-|- -#### Day 14 Bit Manipulation +#### Day 20 | | | | | | |-|-|-|-|-|- -| 0136 |[Single Number](src/main/scala/g0101_0200/s0136_single_number/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Bit_Manipulation, Big_O_Time_O(N)_Space_O(1) | 530 | 78.57 -### Algorithm II +### Dynamic Programming I -#### Day 1 Binary Search +#### Day 1 | | | | | | |-|-|-|-|-|- -| 0034 |[Find First and Last Position of Element in Sorted Array](src/main/scala/g0001_0100/s0034_find_first_and_last_position_of_element_in_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 478 | 97.85 -| 0033 |[Search in Rotated Sorted Array](src/main/scala/g0001_0100/s0033_search_in_rotated_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 453 | 91.53 -| 0074 |[Search a 2D Matrix](src/main/scala/g0001_0100/s0074_search_a_2d_matrix/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Matrix, Big_O_Time_O(endRow+endCol)_Space_O(1) | 478 | 83.33 -#### Day 2 Binary Search +#### Day 2 | | | | | | |-|-|-|-|-|- -| 0153 |[Find Minimum in Rotated Sorted Array](src/main/scala/g0101_0200/s0153_find_minimum_in_rotated_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Big_O_Time_O(log_N)_Space_O(log_N) | 457 | 78.79 +| 0070 |[Climbing Stairs](src/main/scala/g0001_0100/s0070_climbing_stairs/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Memoization, Big_O_Time_O(n)_Space_O(n) | 369 | 98.32 -#### Day 3 Two Pointers +#### Day 3 | | | | | | |-|-|-|-|-|- -| 0015 |[3Sum](src/main/scala/g0001_0100/s0015_3sum/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Two_Pointers, Big_O_Time_O(n\*log(n))_Space_O(n^2) | 721 | 95.24 +| 0198 |[House Robber](src/main/scala/g0101_0200/s0198_house_robber/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) | 426 | 98.04 -#### Day 4 Two Pointers +#### Day 4 | | | | | | |-|-|-|-|-|- -| 0011 |[Container With Most Water](src/main/scala/g0001_0100/s0011_container_with_most_water/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Greedy, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 683 | 99.13 +| 0055 |[Jump Game](src/main/scala/g0001_0100/s0055_jump_game/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) | 622 | 88.31 +| 0045 |[Jump Game II](src/main/scala/g0001_0100/s0045_jump_game_ii/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) | 510 | 88.52 -#### Day 5 Sliding Window +#### Day 5 | | | | | | |-|-|-|-|-|- -| 0438 |[Find All Anagrams in a String](src/main/scala/g0401_0500/s0438_find_all_anagrams_in_a_string/Solution.scala)| Medium | Top_100_Liked_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(n+m)_Space_O(1) | 576 | 100.00 +| 0053 |[Maximum Subarray](src/main/scala/g0001_0100/s0053_maximum_subarray/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Divide_and_Conquer, Big_O_Time_O(n)_Space_O(1) | 766 | 84.95 -#### Day 6 Breadth First Search Depth First Search +#### Day 6 | | | | | | |-|-|-|-|-|- -| 0200 |[Number of Islands](src/main/scala/g0101_0200/s0200_number_of_islands/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Depth_First_Search, Breadth_First_Search, Matrix, Union_Find, Big_O_Time_O(M\*N)_Space_O(M\*N) | 537 | 93.18 +| 0152 |[Maximum Product Subarray](src/main/scala/g0101_0200/s0152_maximum_product_subarray/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(N)_Space_O(1) | 472 | 100.00 -#### Day 7 Breadth First Search Depth First Search +#### Day 7 | | | | | | |-|-|-|-|-|- +| 0121 |[Best Time to Buy and Sell Stock](src/main/scala/g0101_0200/s0121_best_time_to_buy_and_sell_stock/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(N)_Space_O(1) | 762 | 98.45 -#### Day 8 Breadth First Search Depth First Search +#### Day 8 | | | | | | |-|-|-|-|-|- -#### Day 9 Recursion Backtracking +#### Day 9 | | | | | | |-|-|-|-|-|- -| 0078 |[Subsets](src/main/scala/g0001_0100/s0078_subsets/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Bit_Manipulation, Backtracking, Big_O_Time_O(2^n)_Space_O(n\*2^n) | 452 | 87.50 +| 0139 |[Word Break](src/main/scala/g0101_0200/s0139_word_break/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Dynamic_Programming, Trie, Memoization, Big_O_Time_O(M+max\*N)_Space_O(M+N+max) | 482 | 66.67 +| 0042 |[Trapping Rain Water](src/main/scala/g0001_0100/s0042_trapping_rain_water/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Two_Pointers, Stack, Monotonic_Stack, Big_O_Time_O(n)_Space_O(1) | 521 | 87.88 -#### Day 10 Recursion Backtracking +#### Day 10 | | | | | | |-|-|-|-|-|- -| 0039 |[Combination Sum](src/main/scala/g0001_0100/s0039_combination_sum/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Backtracking, Big_O_Time_O(2^n)_Space_O(n+2^n) | 488 | 97.50 -#### Day 11 Recursion Backtracking +#### Day 11 | | | | | | |-|-|-|-|-|- -| 0017 |[Letter Combinations of a Phone Number](src/main/scala/g0001_0100/s0017_letter_combinations_of_a_phone_number/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Backtracking, Big_O_Time_O(4^n)_Space_O(n) | 459 | 58.54 -| 0022 |[Generate Parentheses](src/main/scala/g0001_0100/s0022_generate_parentheses/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Backtracking, Big_O_Time_O(2^n)_Space_O(n) | 380 | 100.00 -| 0079 |[Word Search](src/main/scala/g0001_0100/s0079_word_search/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Matrix, Backtracking, Big_O_Time_O(4^(m\*n))_Space_O(m\*n) | 783 | 94.87 +| 0096 |[Unique Binary Search Trees](src/main/scala/g0001_0100/s0096_unique_binary_search_trees/Solution.scala)| Medium | Top_100_Liked_Questions, Dynamic_Programming, Math, Tree, Binary_Tree, Binary_Search_Tree, Big_O_Time_O(n)_Space_O(1) | 403 | 66.67 -#### Day 12 Dynamic Programming +#### Day 12 | | | | | | |-|-|-|-|-|- -| 0055 |[Jump Game](src/main/scala/g0001_0100/s0055_jump_game/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) | 622 | 88.31 -#### Day 13 Dynamic Programming +#### Day 13 | | | | | | |-|-|-|-|-|- -| 0045 |[Jump Game II](src/main/scala/g0001_0100/s0045_jump_game_ii/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) | 510 | 88.52 -| 0062 |[Unique Paths](src/main/scala/g0001_0100/s0062_unique_paths/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Combinatorics, Big_O_Time_O(m\*n)_Space_O(m\*n) | 405 | 70.18 -#### Day 14 Dynamic Programming +#### Day 14 | | | | | | |-|-|-|-|-|- -| 0005 |[Longest Palindromic Substring](src/main/scala/g0001_0100/s0005_longest_palindromic_substring/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) | 502 | 87.65 -#### Day 15 Dynamic Programming +#### Day 15 | | | | | | |-|-|-|-|-|- -| 0139 |[Word Break](src/main/scala/g0101_0200/s0139_word_break/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Dynamic_Programming, Trie, Memoization, Big_O_Time_O(M+max\*N)_Space_O(M+N+max) | 482 | 66.67 +| 0062 |[Unique Paths](src/main/scala/g0001_0100/s0062_unique_paths/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Combinatorics, Big_O_Time_O(m\*n)_Space_O(m\*n) | 405 | 70.18 -#### Day 16 Dynamic Programming +#### Day 16 | | | | | | |-|-|-|-|-|- -| 0300 |[Longest Increasing Subsequence](src/main/scala/g0201_0300/s0300_longest_increasing_subsequence/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Binary_Search, Big_O_Time_O(n\*log_n)_Space_O(n) | 522 | 88.89 +| 0064 |[Minimum Path Sum](src/main/scala/g0001_0100/s0064_minimum_path_sum/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Matrix, Big_O_Time_O(m\*n)_Space_O(m\*n) | 521 | 92.86 +| 0221 |[Maximal Square](src/main/scala/g0201_0300/s0221_maximal_square/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Matrix, Big_O_Time_O(m\*n)_Space_O(m\*n) | 626 | 100.00 -#### Day 17 Dynamic Programming +#### Day 17 | | | | | | |-|-|-|-|-|- -| 1143 |[Longest Common Subsequence](src/main/scala/g1101_1200/s1143_longest_common_subsequence/Solution.scala)| Medium | Top_100_Liked_Questions, String, Dynamic_Programming, Big_O_Time_O(n\*m)_Space_O(n\*m) | 507 | 100.00 +| 0005 |[Longest Palindromic Substring](src/main/scala/g0001_0100/s0005_longest_palindromic_substring/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) | 502 | 87.65 -#### Day 18 Dynamic Programming +#### Day 18 | | | | | | |-|-|-|-|-|- -| 0072 |[Edit Distance](src/main/scala/g0001_0100/s0072_edit_distance/Solution.scala)| Hard | Top_100_Liked_Questions, String, Dynamic_Programming, Big_O_Time_O(n^2)_Space_O(n2) | 487 | 100.00 -| 0322 |[Coin Change](src/main/scala/g0301_0400/s0322_coin_change/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Breadth_First_Search, Big_O_Time_O(m\*n)_Space_O(amount) | 533 | 84.21 +| 0300 |[Longest Increasing Subsequence](src/main/scala/g0201_0300/s0300_longest_increasing_subsequence/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Binary_Search, Big_O_Time_O(n\*log_n)_Space_O(n) | 522 | 88.89 -#### Day 19 Bit Manipulation +#### Day 19 | | | | | | |-|-|-|-|-|- +| 1143 |[Longest Common Subsequence](src/main/scala/g1101_1200/s1143_longest_common_subsequence/Solution.scala)| Medium | Top_100_Liked_Questions, String, Dynamic_Programming, Big_O_Time_O(n\*m)_Space_O(n\*m) | 507 | 100.00 +| 0072 |[Edit Distance](src/main/scala/g0001_0100/s0072_edit_distance/Solution.scala)| Hard | Top_100_Liked_Questions, String, Dynamic_Programming, Big_O_Time_O(n^2)_Space_O(n2) | 487 | 100.00 -#### Day 20 Others +#### Day 20 | | | | | | |-|-|-|-|-|- +| 0322 |[Coin Change](src/main/scala/g0301_0400/s0322_coin_change/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Breadth_First_Search, Big_O_Time_O(m\*n)_Space_O(amount) | 533 | 84.21 -#### Day 21 Others +#### Day 21 | | | | | | |-|-|-|-|-|- -### Binary Search I +### Programming Skills I -#### Day 1 +#### Day 1 Basic Data Type | | | | | | |-|-|-|-|-|- -#### Day 2 +#### Day 2 Operator | | | | | | |-|-|-|-|-|- -| 0035 |[Search Insert Position](src/main/scala/g0001_0100/s0035_search_insert_position/Solution.scala)| Easy | Top_100_Liked_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 466 | 87.04 -#### Day 3 +#### Day 3 Conditional Statements | | | | | | |-|-|-|-|-|- -#### Day 4 +#### Day 4 Loop | | | | | | |-|-|-|-|-|- -#### Day 5 +#### Day 5 Function | | | | | | |-|-|-|-|-|- -| 0034 |[Find First and Last Position of Element in Sorted Array](src/main/scala/g0001_0100/s0034_find_first_and_last_position_of_element_in_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 478 | 97.85 -#### Day 6 +#### Day 6 Array | | | | | | |-|-|-|-|-|- +| 0283 |[Move Zeroes](src/main/scala/g0201_0300/s0283_move_zeroes/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 572 | 86.11 -#### Day 7 +#### Day 7 Array | | | | | | |-|-|-|-|-|- -#### Day 8 +#### Day 8 String | | | | | | |-|-|-|-|-|- -| 0074 |[Search a 2D Matrix](src/main/scala/g0001_0100/s0074_search_a_2d_matrix/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Matrix, Big_O_Time_O(endRow+endCol)_Space_O(1) | 478 | 83.33 -#### Day 9 +#### Day 9 String | | | | | | |-|-|-|-|-|- -#### Day 10 +#### Day 10 Linked List and Tree | | | | | | |-|-|-|-|-|- +| 0104 |[Maximum Depth of Binary Tree](src/main/scala/g0101_0200/s0104_maximum_depth_of_binary_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(H) | 472 | 90.83 -#### Day 11 +#### Day 11 Containers and Libraries | | | | | | |-|-|-|-|-|- -| 0033 |[Search in Rotated Sorted Array](src/main/scala/g0001_0100/s0033_search_in_rotated_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 453 | 91.53 -#### Day 12 +#### Day 12 Class and Object | | | | | | |-|-|-|-|-|- -| 0153 |[Find Minimum in Rotated Sorted Array](src/main/scala/g0101_0200/s0153_find_minimum_in_rotated_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Big_O_Time_O(log_N)_Space_O(log_N) | 457 | 78.79 -### Binary Search II +### Programming Skills II #### Day 1 @@ -1338,7 +1334,6 @@ implementation 'com.github.javadev:leetcode-in-scala:1.0' | | | | | | |-|-|-|-|-|- -| 0300 |[Longest Increasing Subsequence](src/main/scala/g0201_0300/s0300_longest_increasing_subsequence/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Binary_Search, Big_O_Time_O(n\*log_n)_Space_O(n) | 522 | 88.89 #### Day 4 @@ -1349,23 +1344,23 @@ implementation 'com.github.javadev:leetcode-in-scala:1.0' | | | | | | |-|-|-|-|-|- -| 0287 |[Find the Duplicate Number](src/main/scala/g0201_0300/s0287_find_the_duplicate_number/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Two_Pointers, Bit_Manipulation, Big_O_Time_O(n)_Space_O(n) | 765 | 77.38 #### Day 6 | | | | | | |-|-|-|-|-|- +| 0739 |[Daily Temperatures](src/main/scala/g0701_0800/s0739_daily_temperatures/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Stack, Monotonic_Stack, Big_O_Time_O(n)_Space_O(n) | 931 | 97.30 #### Day 7 | | | | | | |-|-|-|-|-|- +| 0048 |[Rotate Image](src/main/scala/g0001_0100/s0048_rotate_image/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Math, Matrix, Big_O_Time_O(n^2)_Space_O(1) | 472 | 66.67 #### Day 8 | | | | | | |-|-|-|-|-|- -| 0240 |[Search a 2D Matrix II](src/main/scala/g0201_0300/s0240_search_a_2d_matrix_ii/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Matrix, Divide_and_Conquer, Big_O_Time_O(n+m)_Space_O(1) | 579 | 66.67 #### Day 9 @@ -1381,11 +1376,13 @@ implementation 'com.github.javadev:leetcode-in-scala:1.0' | | | | | | |-|-|-|-|-|- +| 0049 |[Group Anagrams](src/main/scala/g0001_0100/s0049_group_anagrams/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, String, Hash_Table, Sorting, Big_O_Time_O(n\*k_log_k)_Space_O(n) | 618 | 91.67 #### Day 12 | | | | | | |-|-|-|-|-|- +| 0438 |[Find All Anagrams in a String](src/main/scala/g0401_0500/s0438_find_all_anagrams_in_a_string/Solution.scala)| Medium | Top_100_Liked_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(n+m)_Space_O(1) | 576 | 100.00 #### Day 13 @@ -1396,11 +1393,13 @@ implementation 'com.github.javadev:leetcode-in-scala:1.0' | | | | | | |-|-|-|-|-|- +| 0138 |[Copy List with Random Pointer](src/main/scala/g0101_0200/s0138_copy_list_with_random_pointer/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Hash_Table, Linked_List, Big_O_Time_O(N)_Space_O(N) | 477 | 96.00 #### Day 15 | | | | | | |-|-|-|-|-|- +| 0002 |[Add Two Numbers](src/main/scala/g0001_0100/s0002_add_two_numbers/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Math, Linked_List, Recursion, Big_O_Time_O(max(N,M))_Space_O(max(N,M)) | 571 | 75.12 #### Day 16 @@ -1416,6 +1415,7 @@ implementation 'com.github.javadev:leetcode-in-scala:1.0' | | | | | | |-|-|-|-|-|- +| 0155 |[Min Stack](src/main/scala/g0101_0200/s0155_min_stack/MinStack.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Stack, Design, Big_O_Time_O(1)_Space_O(N) | 566 | 90.91 #### Day 19 From 38874a020cb98efa5b9ab14ec0a7498ed7f478ba Mon Sep 17 00:00:00 2001 From: Valentyn Kolesnikov Date: Wed, 15 May 2024 20:36:28 +0300 Subject: [PATCH 08/18] Improved task 1 --- build.sbt | 2 +- .../g0001_0100/s0001_two_sum/Solution.scala | 19 ++++++++++--------- .../SolutionSpec.scala | 6 +++--- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/build.sbt b/build.sbt index 6746593..71646b2 100644 --- a/build.sbt +++ b/build.sbt @@ -3,7 +3,7 @@ import Dependencies._ lazy val root = (project in file(".")). settings( inThisBuild(List( - scalaVersion := "2.13.8", + scalaVersion := "3.3.1", version := "1.0" )), name := "leetcode-in-scala", diff --git a/src/main/scala/g0001_0100/s0001_two_sum/Solution.scala b/src/main/scala/g0001_0100/s0001_two_sum/Solution.scala index c5b0aa2..ee66e86 100644 --- a/src/main/scala/g0001_0100/s0001_two_sum/Solution.scala +++ b/src/main/scala/g0001_0100/s0001_two_sum/Solution.scala @@ -2,18 +2,19 @@ package g0001_0100.s0001_two_sum // #Easy #Top_100_Liked_Questions #Top_Interview_Questions #Array #Hash_Table // #Data_Structure_I_Day_2_Array #Level_1_Day_13_Hashmap #Udemy_Arrays #Big_O_Time_O(n)_Space_O(n) -// #2023_10_08_Time_517_ms_(86.66%)_Space_56.2_MB_(68.04%) +// #2024_05_15_Time_680_ms_(76.33%)_Space_59.5_MB_(64.20%) object Solution { def twoSum(nums: Array[Int], target: Int): Array[Int] = { - val lookup = scala.collection.mutable.Map[Int, Int]() - for (idx <- nums.indices) { - if (lookup.contains(target - nums(idx))) { - return Array(lookup(target - nums(idx)), idx) - } else { - lookup.addOne(nums(idx) -> idx) - } + val indiced = nums.zipWithIndex + val sortedStruct = indiced.sortBy(_._1) + var i = 0 + var j = nums.length - 1 + while (i < j && j > 0) { + if sortedStruct(j)._1 + sortedStruct(i)._1 > target then j = j - 1 + else if sortedStruct(j)._1 + sortedStruct(i)._1 < target then i = i + 1 + else return Array(sortedStruct(i)._2, sortedStruct(j)._2) } - Array(-1, -1) + return Array(-1, -1) } } diff --git a/src/test/scala/g0101_0200/s0102_binary_tree_level_order_traversal/SolutionSpec.scala b/src/test/scala/g0101_0200/s0102_binary_tree_level_order_traversal/SolutionSpec.scala index c978ffe..70b4b3a 100644 --- a/src/test/scala/g0101_0200/s0102_binary_tree_level_order_traversal/SolutionSpec.scala +++ b/src/test/scala/g0101_0200/s0102_binary_tree_level_order_traversal/SolutionSpec.scala @@ -7,15 +7,15 @@ import org.scalatest.matchers.should.Matchers class SolutionSpec extends AnyFunSuite with Matchers { test("levelOrder") { val root = TreeUtils.constructBinaryTree(List(3, 9, 20, null, null, 15, 7)) - Solution.levelOrder(root) shouldBe Array(Array(3), Array(9, 20), Array(15, 7)) + Solution.levelOrder(root) shouldBe List(List(3), List(9, 20), List(15, 7)) } test("levelOrder2") { val root = TreeUtils.constructBinaryTree(List(1)) - Solution.levelOrder(root) shouldBe Array(Array(1)) + Solution.levelOrder(root) shouldBe List(List(1)) } test("levelOrder3") { - Solution.levelOrder(null) shouldBe Array.empty + Solution.levelOrder(null) shouldBe List.empty } } From 77c741344df4a9f9ae1b1bc86b48578e0faf5a22 Mon Sep 17 00:00:00 2001 From: Valentyn Kolesnikov Date: Thu, 16 May 2024 06:35:25 +0300 Subject: [PATCH 09/18] Update scala.yml --- .github/workflows/scala.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/scala.yml b/.github/workflows/scala.yml index 170fa79..11563a7 100644 --- a/.github/workflows/scala.yml +++ b/.github/workflows/scala.yml @@ -20,11 +20,11 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - name: Set up JDK 11 - uses: actions/setup-java@v3 + - uses: actions/checkout@v4 + - name: Set up JDK 17 + uses: actions/setup-java@v4 with: - java-version: '11' + java-version: '17' distribution: 'temurin' cache: 'sbt' - name: Run tests From 1040a57bfe4189259e508f03947ef9a10cf62529 Mon Sep 17 00:00:00 2001 From: ThanhNIT <93962044+ThanhNIT@users.noreply.github.com> Date: Sat, 1 Jun 2024 15:32:14 +0700 Subject: [PATCH 10/18] Improved tasks 20, 41, 45, 55, 79 --- .../s0020_valid_parentheses/Solution.scala | 34 ++++++++++------- .../Solution.scala | 16 ++++---- .../s0045_jump_game_ii/Solution.scala | 10 +++-- .../g0001_0100/s0055_jump_game/Solution.scala | 38 +++++++++---------- .../s0079_word_search/Solution.scala | 10 ++--- 5 files changed, 58 insertions(+), 50 deletions(-) diff --git a/src/main/scala/g0001_0100/s0020_valid_parentheses/Solution.scala b/src/main/scala/g0001_0100/s0020_valid_parentheses/Solution.scala index 298212a..2653a36 100644 --- a/src/main/scala/g0001_0100/s0020_valid_parentheses/Solution.scala +++ b/src/main/scala/g0001_0100/s0020_valid_parentheses/Solution.scala @@ -2,29 +2,35 @@ package g0001_0100.s0020_valid_parentheses // #Easy #Top_100_Liked_Questions #Top_Interview_Questions #String #Stack // #Data_Structure_I_Day_9_Stack_Queue #Udemy_Strings #Big_O_Time_O(n)_Space_O(n) -// #2023_10_29_Time_449_ms_(65.58%)_Space_56.6_MB_(22.33%) +// #2024_06_01_Time_587_ms_(69.29%)_Space_58.3_MB_(60.63%) import scala.collection.mutable.Stack +import scala.util.control.Breaks._ object Solution { def isValid(s: String): Boolean = { val stack = Stack[Char]() + var result = true - for (i <- 0 until s.length) { - val c = s.charAt(i) - if (c == '(' || c == '[' || c == '{') { - stack.push(c) - } else if (c == ')' && stack.nonEmpty && stack.top == '(') { - stack.pop() - } else if (c == '}' && stack.nonEmpty && stack.top == '{') { - stack.pop() - } else if (c == ']' && stack.nonEmpty && stack.top == '[') { - stack.pop() - } else { - return false + breakable { + for (i <- 0 until s.length) { + val c = s.charAt(i) + if (c == '(' || c == '[' || c == '{') { + stack.push(c) + } else if (c == ')' && stack.nonEmpty && stack.top == '(') { + stack.pop() + } else if (c == '}' && stack.nonEmpty && stack.top == '{') { + stack.pop() + } else if (c == ']' && stack.nonEmpty && stack.top == '[') { + stack.pop() + } else { + result = false + break() + } } } - stack.isEmpty + result && stack.isEmpty } } + diff --git a/src/main/scala/g0001_0100/s0041_first_missing_positive/Solution.scala b/src/main/scala/g0001_0100/s0041_first_missing_positive/Solution.scala index 94f579f..6d6ec47 100644 --- a/src/main/scala/g0001_0100/s0041_first_missing_positive/Solution.scala +++ b/src/main/scala/g0001_0100/s0041_first_missing_positive/Solution.scala @@ -1,27 +1,28 @@ package g0001_0100.s0041_first_missing_positive // #Hard #Top_100_Liked_Questions #Top_Interview_Questions #Array #Hash_Table #Udemy_Arrays -// #Big_O_Time_O(n)_Space_O(n) #2023_10_30_Time_650_ms_(100.00%)_Space_78.5_MB_(100.00%) +// #Big_O_Time_O(n)_Space_O(n) #2024_06_01_Time_912_ms_(84.21%)_Space_71.6_MB_(100.00%) import scala.annotation.tailrec object Solution { def firstMissingPositive(nums: Array[Int]): Int = { for (i <- nums.indices) { - if (nums(i) <= 0 || nums(i) > nums.length || nums(i) == i + 1) { - // Continue the loop - } else { + if (nums(i) > 0 && nums(i) < nums.length && nums(i) != i + 1) { dfs(nums, nums(i)) } } - for (i <- nums.indices) { + var result = nums.length + 1 + var found = false + for (i <- nums.indices if !found) { if (nums(i) != i + 1) { - return i + 1 + result = i + 1 + found = true } } - nums.length + 1 + result } @tailrec @@ -34,3 +35,4 @@ object Solution { dfs(nums, temp) } } + diff --git a/src/main/scala/g0001_0100/s0045_jump_game_ii/Solution.scala b/src/main/scala/g0001_0100/s0045_jump_game_ii/Solution.scala index 16bd637..4c8f96d 100644 --- a/src/main/scala/g0001_0100/s0045_jump_game_ii/Solution.scala +++ b/src/main/scala/g0001_0100/s0045_jump_game_ii/Solution.scala @@ -2,7 +2,7 @@ package g0001_0100.s0045_jump_game_ii // #Medium #Top_100_Liked_Questions #Array #Dynamic_Programming #Greedy // #Algorithm_II_Day_13_Dynamic_Programming #Dynamic_Programming_I_Day_4 -// #Big_O_Time_O(n)_Space_O(1) #2023_10_31_Time_510_ms_(88.52%)_Space_56_MB_(65.57%) +// #Big_O_Time_O(n)_Space_O(1) #2024_06_01_Time_653_ms_(83.87%)_Space_58.6_MB_(87.10%) object Solution { def jump(nums: Array[Int]): Int = { @@ -10,7 +10,8 @@ object Solution { var maxLength = 0 var minJump = 0 - for (i <- 0 until nums.length - 1) { + var result = -1 + for (i <- 0 until nums.length - 1 if result == -1) { length -= 1 maxLength -= 1 maxLength = math.max(maxLength, nums(i)) @@ -21,10 +22,11 @@ object Solution { } if (length >= nums.length - i - 1) { - return minJump + result = minJump } } - minJump + if (result == -1) minJump else result } } + diff --git a/src/main/scala/g0001_0100/s0055_jump_game/Solution.scala b/src/main/scala/g0001_0100/s0055_jump_game/Solution.scala index ef8dcd3..6a7364e 100644 --- a/src/main/scala/g0001_0100/s0055_jump_game/Solution.scala +++ b/src/main/scala/g0001_0100/s0055_jump_game/Solution.scala @@ -2,38 +2,38 @@ package g0001_0100.s0055_jump_game // #Medium #Top_100_Liked_Questions #Top_Interview_Questions #Array #Dynamic_Programming #Greedy // #Algorithm_II_Day_12_Dynamic_Programming #Dynamic_Programming_I_Day_4 #Udemy_Arrays -// #Big_O_Time_O(n)_Space_O(1) #2023_10_31_Time_622_ms_(88.31%)_Space_56.9_MB_(44.16%) +// #Big_O_Time_O(n)_Space_O(1) #2024_06_01_Time_769_ms_(79.03%)_Space_59.8_MB_(50.00%) object Solution { def canJump(nums: Array[Int]): Boolean = { val sz = nums.length // We set tmp to 1 so it won't break on the first iteration var tmp = 1 + var result = true // Variable to store the result - for (i <- 0 until sz) { + for (i <- 0 until sz if result) { // We always deduct tmp for every iteration tmp -= 1 if (tmp < 0) { // If from the previous iteration tmp is already 0, it will be < 0 here, // leading to a false value - return false - } - // We get the maximum value because this value is supposed to be our iterator. If both values are 0, - // then the next iteration will return false. - // We can stop the whole iteration with this condition. Without this condition, the code runs in 2ms (79.6%). - // Adding this condition improves the performance to 1ms (100%) - // because if the test case jump value is quite large, instead of just iterating, we can - // just check using this condition. - // Example: [10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -> we can just jump to the end without iterating the whole array. - tmp = math.max(tmp, nums(i)) - if (i + tmp >= sz - 1) { - return true + result = false + } else { + // We get the maximum value because this value is supposed to be our iterator. If both values are 0, + // then the next iteration will return false. + // We can stop the whole iteration with this condition. Without this condition, the code runs in 2ms (79.6%). + // Adding this condition improves the performance to 1ms (100%) + // because if the test case jump value is quite large, instead of just iterating, we can + // just check using this condition. + // Example: [10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -> we can just jump to the end without iterating the whole array. + tmp = math.max(tmp, nums(i)) + if (i + tmp >= sz - 1) { + result = true + } } } - // We can just return true at the end because if tmp is 0 on the previous - // iteration, - // even though the next iteration's index is the last one, it will return false under the - // tmp < 0 condition. - true + + result } } + diff --git a/src/main/scala/g0001_0100/s0079_word_search/Solution.scala b/src/main/scala/g0001_0100/s0079_word_search/Solution.scala index 6761321..f2eaf95 100644 --- a/src/main/scala/g0001_0100/s0079_word_search/Solution.scala +++ b/src/main/scala/g0001_0100/s0079_word_search/Solution.scala @@ -2,7 +2,7 @@ package g0001_0100.s0079_word_search // #Medium #Top_100_Liked_Questions #Top_Interview_Questions #Array #Matrix #Backtracking // #Algorithm_II_Day_11_Recursion_Backtracking #Big_O_Time_O(4^(m*n))_Space_O(m*n) -// #2023_11_02_Time_783_ms_(94.87%)_Space_54.9_MB_(100.00%) +// #2024_06_01_Time_848_ms_(74.19%)_Space_59.5_MB_(66.67%) object Solution { private val directions = Array(Array(-1, 0), Array(1, 0), Array(0, -1), Array(0, 1)) @@ -14,11 +14,10 @@ object Solution { numRows = board.length numCols = board(0).length var result = false - for (row <- 0 until numRows) { - for (col <- 0 until numCols) { + for (row <- 0 until numRows if !result) { + for (col <- 0 until numCols if !result) { if (board(row)(col) == word(0)) { result = backTracking(board, row, col, word, 0) - if (result) return true } } } @@ -33,11 +32,10 @@ object Solution { val originalValue = board(row)(col) board(row)(col) = '0' var output = false - for (dir <- directions) { + for (dir <- directions if !output) { val newRow = row + dir(0) val newCol = col + dir(1) output = backTracking(board, newRow, newCol, word, index + 1) - if (output) return true } board(row)(col) = originalValue output From c3f782e32a15a499ede13b6f4f6a0aed93dc650a Mon Sep 17 00:00:00 2001 From: Valentyn Kolesnikov Date: Sat, 1 Jun 2024 19:30:53 +0300 Subject: [PATCH 11/18] Improved task 20 --- src/main/scala/g0001_0100/s0020_valid_parentheses/Solution.scala | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/scala/g0001_0100/s0020_valid_parentheses/Solution.scala b/src/main/scala/g0001_0100/s0020_valid_parentheses/Solution.scala index 2653a36..c55cd33 100644 --- a/src/main/scala/g0001_0100/s0020_valid_parentheses/Solution.scala +++ b/src/main/scala/g0001_0100/s0020_valid_parentheses/Solution.scala @@ -33,4 +33,3 @@ object Solution { result && stack.isEmpty } } - From dfbb3862f0cef0dc9d626db9143808f532b3ab3e Mon Sep 17 00:00:00 2001 From: Valentyn Kolesnikov Date: Sat, 1 Jun 2024 19:31:48 +0300 Subject: [PATCH 12/18] Improved task 41 --- .../scala/g0001_0100/s0041_first_missing_positive/Solution.scala | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/scala/g0001_0100/s0041_first_missing_positive/Solution.scala b/src/main/scala/g0001_0100/s0041_first_missing_positive/Solution.scala index 6d6ec47..44b8eee 100644 --- a/src/main/scala/g0001_0100/s0041_first_missing_positive/Solution.scala +++ b/src/main/scala/g0001_0100/s0041_first_missing_positive/Solution.scala @@ -35,4 +35,3 @@ object Solution { dfs(nums, temp) } } - From 081a6414319b793564f351aa2919c24d4e009255 Mon Sep 17 00:00:00 2001 From: Valentyn Kolesnikov Date: Sat, 1 Jun 2024 19:32:41 +0300 Subject: [PATCH 13/18] Improved task 45 --- src/main/scala/g0001_0100/s0045_jump_game_ii/Solution.scala | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/scala/g0001_0100/s0045_jump_game_ii/Solution.scala b/src/main/scala/g0001_0100/s0045_jump_game_ii/Solution.scala index 4c8f96d..e3eee4f 100644 --- a/src/main/scala/g0001_0100/s0045_jump_game_ii/Solution.scala +++ b/src/main/scala/g0001_0100/s0045_jump_game_ii/Solution.scala @@ -29,4 +29,3 @@ object Solution { if (result == -1) minJump else result } } - From 8bb2a0862280283950bebc628f2bcb457aafdc7d Mon Sep 17 00:00:00 2001 From: Valentyn Kolesnikov Date: Sat, 1 Jun 2024 19:33:55 +0300 Subject: [PATCH 14/18] Improved task 55 --- src/main/scala/g0001_0100/s0055_jump_game/Solution.scala | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/scala/g0001_0100/s0055_jump_game/Solution.scala b/src/main/scala/g0001_0100/s0055_jump_game/Solution.scala index 6a7364e..8de065f 100644 --- a/src/main/scala/g0001_0100/s0055_jump_game/Solution.scala +++ b/src/main/scala/g0001_0100/s0055_jump_game/Solution.scala @@ -36,4 +36,3 @@ object Solution { result } } - From 0bb8f804079aca9a22a7f61375d6c4d51aa4f4f3 Mon Sep 17 00:00:00 2001 From: Valentyn Kolesnikov Date: Sun, 2 Jun 2024 05:26:03 +0300 Subject: [PATCH 15/18] Improved tasks 84, 207 --- .../Solution.scala | 16 ++++-- .../s0207_course_schedule/Solution.scala | 52 ++++++++----------- 2 files changed, 32 insertions(+), 36 deletions(-) diff --git a/src/main/scala/g0001_0100/s0084_largest_rectangle_in_histogram/Solution.scala b/src/main/scala/g0001_0100/s0084_largest_rectangle_in_histogram/Solution.scala index 69e1cf5..949efb0 100644 --- a/src/main/scala/g0001_0100/s0084_largest_rectangle_in_histogram/Solution.scala +++ b/src/main/scala/g0001_0100/s0084_largest_rectangle_in_histogram/Solution.scala @@ -1,7 +1,9 @@ package g0001_0100.s0084_largest_rectangle_in_histogram // #Hard #Top_100_Liked_Questions #Top_Interview_Questions #Array #Stack #Monotonic_Stack -// #Big_O_Time_O(n_log_n)_Space_O(log_n) #2023_11_02_Time_904_ms_(71.43%)_Space_77.5_MB_(35.71%) +// #Big_O_Time_O(n_log_n)_Space_O(log_n) #2024_06_02_Time_1092_ms_(71.43%)_Space_76.1_MB_(64.29%) + +import scala.util.control.Breaks.{break, breakable} object Solution { def largestRectangleArea(heights: Array[Int]): Int = { @@ -54,12 +56,16 @@ object Solution { } private def checkIfSorted(a: Array[Int], start: Int, limit: Int): Boolean = { - for (i <- start + 1 until limit) { - if (a(i) < a(i - 1)) { - return false + var sorted = true + breakable { + for (i <- start + 1 until limit) { + if (a(i) < a(i - 1)) { + sorted = false + break + } } } - true + sorted } private def maxOfThreeNums(a: Int, b: Int, c: Int): Int = { diff --git a/src/main/scala/g0201_0300/s0207_course_schedule/Solution.scala b/src/main/scala/g0201_0300/s0207_course_schedule/Solution.scala index a2c41d2..a3049a2 100644 --- a/src/main/scala/g0201_0300/s0207_course_schedule/Solution.scala +++ b/src/main/scala/g0201_0300/s0207_course_schedule/Solution.scala @@ -2,42 +2,32 @@ package g0201_0300.s0207_course_schedule // #Medium #Top_100_Liked_Questions #Top_Interview_Questions #Depth_First_Search // #Breadth_First_Search #Graph #Topological_Sort #Big_O_Time_O(N)_Space_O(N) -// #2023_11_05_Time_548_ms_(87.81%)_Space_60_MB_(12.20%) - -import scala.collection.mutable.ArrayBuffer +// #2024_06_02_Time_720_ms_(91.11%)_Space_61.7_MB_(75.56%) object Solution { - val WHITE = 0 - val GRAY = 1 - val BLACK = 2 - def canFinish(numCourses: Int, prerequisites: Array[Array[Int]]): Boolean = { - val adj = Array.fill(numCourses)(new ArrayBuffer[Int]()) - prerequisites.foreach { pre => - adj(pre(1)).append(pre(0)) - } - - val colors = Array.fill(numCourses)(WHITE) - (0 until numCourses).forall { i => - if (colors(i) == WHITE && adj(i).nonEmpty && hasCycle(adj, i, colors)) { - false - } else { - true - } + import scala.collection.mutable.{Queue, ListBuffer} + val indegree = Array.fill(numCourses)(0) + val graph = Array.fill(numCourses)(new ListBuffer[Int]) + for (data <- prerequisites) { + val course = data.head + val prerequisiteCourse = data.last + indegree(course) = indegree(course) + 1 + graph(prerequisiteCourse) += course } - } - - private def hasCycle(adj: Array[ArrayBuffer[Int]], node: Int, colors: Array[Int]): Boolean = { - colors(node) = GRAY - adj(node).foreach { nei => - if (colors(nei) == GRAY) { - return true - } - if (colors(nei) == WHITE && hasCycle(adj, nei, colors)) { - return true + val startingCourses = indegree.zipWithIndex.filter(_._1.equals(0)).map(_._2) + val queue = Queue[Int](startingCourses: _*) + var courseTaken = 0 + while (queue.nonEmpty) { + val current = queue.dequeue + courseTaken = courseTaken + 1 + for (neighbor <- graph(current)) { + indegree(neighbor) = indegree(neighbor) - 1 + if (indegree(neighbor).equals(0)) { + queue.enqueue(neighbor) + } } } - colors(node) = BLACK - false + courseTaken == numCourses } } From 8a080966cbef4c3ca1c01ac0c43911e4197d87c3 Mon Sep 17 00:00:00 2001 From: Valentyn Kolesnikov Date: Sun, 2 Jun 2024 05:47:02 +0300 Subject: [PATCH 16/18] Imprived task 234 --- .../Solution.scala | 62 ++++++++++--------- 1 file changed, 32 insertions(+), 30 deletions(-) diff --git a/src/main/scala/g0201_0300/s0234_palindrome_linked_list/Solution.scala b/src/main/scala/g0201_0300/s0234_palindrome_linked_list/Solution.scala index f081e78..ba5170a 100644 --- a/src/main/scala/g0201_0300/s0234_palindrome_linked_list/Solution.scala +++ b/src/main/scala/g0201_0300/s0234_palindrome_linked_list/Solution.scala @@ -1,8 +1,8 @@ package g0201_0300.s0234_palindrome_linked_list -// #Easy #Top_100_Liked_Questions #Top_Interview_Questions #Two_Pointers #Stack #Linked_List -// #Recursion #Level_2_Day_3_Linked_List #Udemy_Linked_List #Big_O_Time_O(n)_Space_O(1) -// #2023_11_07_Time_811_ms_(85.71%)_Space_67.7_MB_(78.57%) +// #Easy #Top_100_Liked_Questions #Two_Pointers #Stack #Linked_List #Recursion +// #Level_2_Day_3_Linked_List #Udemy_Linked_List #Big_O_Time_O(n)_Space_O(1) +// #2024_06_02_Time_912_ms_(100.00%)_Space_72_MB_(48.57%) import com_github_leetcode.ListNode @@ -15,40 +15,42 @@ import com_github_leetcode.ListNode */ object Solution { def isPalindrome(head: ListNode): Boolean = { - var len = 0 - var right = head - - // Calculate the length - while (right != null) { - right = right.next - len += 1 + if (head == null || head.next == null) { + return true } - - // Reverse the right half of the list - len = len / 2 - right = head - for (_ <- 0 until len) { - right = right.next + def reverseList(node: ListNode): ListNode = { + var prev: ListNode = null + var current: ListNode = node + while (current != null) { + val nextNode = current.next + current.next = prev + prev = current + current = nextNode + } + prev } - var prev: ListNode = null - while (right != null) { - val next = right.next - right.next = prev - prev = right - right = next + def findMiddle(node: ListNode): ListNode = { + var slow = node + var fast = node + while (fast != null && fast.next != null) { + slow = slow.next + fast = fast.next.next + } + slow } - var head2 = head - // Compare left half and right half - for (_ <- 0 until len) { - if (prev != null && head2.x == prev.x) { - head2 = head2.next - prev = prev.next - } else { + + val middle = findMiddle(head) + var secondHalf = reverseList(middle) + + var firstHalf = head + while (secondHalf != null) { + if (firstHalf.x != secondHalf.x) { return false } + firstHalf = firstHalf.next + secondHalf = secondHalf.next } - true } } From 082998b636f9fab0a74a8292dee5731ddf65819f Mon Sep 17 00:00:00 2001 From: Valentyn Kolesnikov Date: Sun, 2 Jun 2024 05:50:10 +0300 Subject: [PATCH 17/18] Improved task 287 --- README.md | 192 +++++++++--------- .../Solution.scala | 11 +- 2 files changed, 102 insertions(+), 101 deletions(-) diff --git a/README.md b/README.md index 7572f47..92b7573 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,6 @@ implementation 'com.github.javadev:leetcode-in-scala:1.0' > ["For coding interview preparation, LeetCode is one of the best online resource providing a rich library of more than 300 real coding interview questions for you to practice from using one of the 7 supported languages - C, C++, Java, Python, C#, JavaScript, Ruby."](https://www.quora.com/How-effective-is-Leetcode-for-preparing-for-technical-interviews) ## -* [Graph Theory I](#graph-theory-i) * [SQL I](#sql-i) * [Level 1](#level-1) * [Level 2](#level-2) @@ -45,79 +44,7 @@ implementation 'com.github.javadev:leetcode-in-scala:1.0' * [Dynamic Programming I](#dynamic-programming-i) * [Programming Skills I](#programming-skills-i) * [Programming Skills II](#programming-skills-ii) - -### Graph Theory I - -#### Day 1 Matrix Related Problems - -| | | | | | -|-|-|-|-|-|- -| 0200 |[Number of Islands](src/main/scala/g0101_0200/s0200_number_of_islands/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Depth_First_Search, Breadth_First_Search, Matrix, Union_Find, Big_O_Time_O(M\*N)_Space_O(M\*N) | 537 | 93.18 - -#### Day 2 Matrix Related Problems - -| | | | | | -|-|-|-|-|-|- - -#### Day 3 Matrix Related Problems - -| | | | | | -|-|-|-|-|-|- - -#### Day 4 Matrix Related Problems - -| | | | | | -|-|-|-|-|-|- - -#### Day 5 Matrix Related Problems - -| | | | | | -|-|-|-|-|-|- - -#### Day 6 Matrix Related Problems - -| | | | | | -|-|-|-|-|-|- - -#### Day 7 Standard Traversal - -| | | | | | -|-|-|-|-|-|- - -#### Day 8 Standard Traversal - -| | | | | | -|-|-|-|-|-|- - -#### Day 9 Standard Traversal - -| | | | | | -|-|-|-|-|-|- - -#### Day 10 Standard Traversal - -| | | | | | -|-|-|-|-|-|- - -#### Day 11 Breadth First Search - -| | | | | | -|-|-|-|-|-|- - -#### Day 12 Breadth First Search - -| | | | | | -|-|-|-|-|-|- - -#### Day 13 Graph Theory - -| | | | | | -|-|-|-|-|-|- - -#### Day 14 Graph Theory - -| | | | | | -|-|-|-|-|-|- +* [Graph Theory I](#graph-theory-i) ### SQL I @@ -247,7 +174,7 @@ implementation 'com.github.javadev:leetcode-in-scala:1.0' | | | | | | |-|-|-|-|-|- -| 0001 |[Two Sum](src/main/scala/g0001_0100/s0001_two_sum/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Big_O_Time_O(n)_Space_O(n) | 517 | 86.66 +| 0001 |[Two Sum](src/main/scala/g0001_0100/s0001_two_sum/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Big_O_Time_O(n)_Space_O(n) | 680 | 76.33 #### Day 14 Stack @@ -398,7 +325,7 @@ implementation 'com.github.javadev:leetcode-in-scala:1.0' | | | | | | |-|-|-|-|-|- | 0003 |[Longest Substring Without Repeating Characters](src/main/scala/g0001_0100/s0003_longest_substring_without_repeating_characters/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(n)_Space_O(1) | 482 | 96.91 -| 0020 |[Valid Parentheses](src/main/scala/g0001_0100/s0020_valid_parentheses/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, String, Stack, Big_O_Time_O(n)_Space_O(n) | 449 | 65.58 +| 0020 |[Valid Parentheses](src/main/scala/g0001_0100/s0020_valid_parentheses/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, String, Stack, Big_O_Time_O(n)_Space_O(n) | 587 | 69.29 | 0005 |[Longest Palindromic Substring](src/main/scala/g0001_0100/s0005_longest_palindromic_substring/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) | 502 | 87.65 | 0394 |[Decode String](src/main/scala/g0301_0400/s0394_decode_string/Solution.scala)| Medium | Top_100_Liked_Questions, String, Stack, Recursion, Big_O_Time_O(n)_Space_O(n) | 449 | 50.00 | 0049 |[Group Anagrams](src/main/scala/g0001_0100/s0049_group_anagrams/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, String, Hash_Table, Sorting, Big_O_Time_O(n\*k_log_k)_Space_O(n) | 618 | 91.67 @@ -416,12 +343,12 @@ implementation 'com.github.javadev:leetcode-in-scala:1.0' |-|-|-|-|-|- | 0121 |[Best Time to Buy and Sell Stock](src/main/scala/g0101_0200/s0121_best_time_to_buy_and_sell_stock/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(N)_Space_O(1) | 762 | 98.45 | 0283 |[Move Zeroes](src/main/scala/g0201_0300/s0283_move_zeroes/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 572 | 86.11 -| 0001 |[Two Sum](src/main/scala/g0001_0100/s0001_two_sum/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Big_O_Time_O(n)_Space_O(n) | 517 | 86.66 +| 0001 |[Two Sum](src/main/scala/g0001_0100/s0001_two_sum/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Big_O_Time_O(n)_Space_O(n) | 680 | 76.33 | 0189 |[Rotate Array](src/main/scala/g0101_0200/s0189_rotate_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Math, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 600 | 96.59 -| 0055 |[Jump Game](src/main/scala/g0001_0100/s0055_jump_game/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) | 622 | 88.31 +| 0055 |[Jump Game](src/main/scala/g0001_0100/s0055_jump_game/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) | 769 | 79.03 | 0075 |[Sort Colors](src/main/scala/g0001_0100/s0075_sort_colors/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 450 | 84.21 | 0238 |[Product of Array Except Self](src/main/scala/g0201_0300/s0238_product_of_array_except_self/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Prefix_Sum, Big_O_Time_O(n^2)_Space_O(n) | 634 | 79.44 -| 0041 |[First Missing Positive](src/main/scala/g0001_0100/s0041_first_missing_positive/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Big_O_Time_O(n)_Space_O(n) | 650 | 100.00 +| 0041 |[First Missing Positive](src/main/scala/g0001_0100/s0041_first_missing_positive/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Big_O_Time_O(n)_Space_O(n) | 912 | 84.21 | 0239 |[Sliding Window Maximum](src/main/scala/g0201_0300/s0239_sliding_window_maximum/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, Array, Heap_Priority_Queue, Sliding_Window, Queue, Monotonic_Queue, Big_O_Time_O(n\*k)_Space_O(n+k) | 1149 | 86.67 #### Udemy Two Pointers @@ -541,7 +468,7 @@ implementation 'com.github.javadev:leetcode-in-scala:1.0' | | | | | | |-|-|-|-|-|- -| 0001 |[Two Sum](src/main/scala/g0001_0100/s0001_two_sum/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Big_O_Time_O(n)_Space_O(n) | 517 | 86.66 +| 0001 |[Two Sum](src/main/scala/g0001_0100/s0001_two_sum/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Big_O_Time_O(n)_Space_O(n) | 680 | 76.33 #### Day 3 Array @@ -582,7 +509,7 @@ implementation 'com.github.javadev:leetcode-in-scala:1.0' | | | | | | |-|-|-|-|-|- -| 0020 |[Valid Parentheses](src/main/scala/g0001_0100/s0020_valid_parentheses/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, String, Stack, Big_O_Time_O(n)_Space_O(n) | 449 | 65.58 +| 0020 |[Valid Parentheses](src/main/scala/g0001_0100/s0020_valid_parentheses/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, String, Stack, Big_O_Time_O(n)_Space_O(n) | 587 | 69.29 #### Day 10 Tree @@ -896,19 +823,19 @@ implementation 'com.github.javadev:leetcode-in-scala:1.0' |-|-|-|-|-|- | 0017 |[Letter Combinations of a Phone Number](src/main/scala/g0001_0100/s0017_letter_combinations_of_a_phone_number/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Backtracking, Big_O_Time_O(4^n)_Space_O(n) | 459 | 58.54 | 0022 |[Generate Parentheses](src/main/scala/g0001_0100/s0022_generate_parentheses/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Backtracking, Big_O_Time_O(2^n)_Space_O(n) | 380 | 100.00 -| 0079 |[Word Search](src/main/scala/g0001_0100/s0079_word_search/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Matrix, Backtracking, Big_O_Time_O(4^(m\*n))_Space_O(m\*n) | 783 | 94.87 +| 0079 |[Word Search](src/main/scala/g0001_0100/s0079_word_search/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Matrix, Backtracking, Big_O_Time_O(4^(m\*n))_Space_O(m\*n) | 848 | 74.19 #### Day 12 Dynamic Programming | | | | | | |-|-|-|-|-|- -| 0055 |[Jump Game](src/main/scala/g0001_0100/s0055_jump_game/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) | 622 | 88.31 +| 0055 |[Jump Game](src/main/scala/g0001_0100/s0055_jump_game/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) | 769 | 79.03 #### Day 13 Dynamic Programming | | | | | | |-|-|-|-|-|- -| 0045 |[Jump Game II](src/main/scala/g0001_0100/s0045_jump_game_ii/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) | 510 | 88.52 +| 0045 |[Jump Game II](src/main/scala/g0001_0100/s0045_jump_game_ii/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) | 653 | 83.87 | 0062 |[Unique Paths](src/main/scala/g0001_0100/s0062_unique_paths/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Combinatorics, Big_O_Time_O(m\*n)_Space_O(m\*n) | 405 | 70.18 #### Day 14 Dynamic Programming @@ -1051,7 +978,7 @@ implementation 'com.github.javadev:leetcode-in-scala:1.0' | | | | | | |-|-|-|-|-|- -| 0287 |[Find the Duplicate Number](src/main/scala/g0201_0300/s0287_find_the_duplicate_number/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Two_Pointers, Bit_Manipulation, Big_O_Time_O(n)_Space_O(n) | 765 | 77.38 +| 0287 |[Find the Duplicate Number](src/main/scala/g0201_0300/s0287_find_the_duplicate_number/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Two_Pointers, Bit_Manipulation, Big_O_Time_O(n)_Space_O(n) | 866 | 83.33 #### Day 6 @@ -1152,8 +1079,8 @@ implementation 'com.github.javadev:leetcode-in-scala:1.0' | | | | | | |-|-|-|-|-|- -| 0055 |[Jump Game](src/main/scala/g0001_0100/s0055_jump_game/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) | 622 | 88.31 -| 0045 |[Jump Game II](src/main/scala/g0001_0100/s0045_jump_game_ii/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) | 510 | 88.52 +| 0055 |[Jump Game](src/main/scala/g0001_0100/s0055_jump_game/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) | 769 | 79.03 +| 0045 |[Jump Game II](src/main/scala/g0001_0100/s0045_jump_game_ii/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) | 653 | 83.87 #### Day 5 @@ -1427,6 +1354,79 @@ implementation 'com.github.javadev:leetcode-in-scala:1.0' | | | | | | |-|-|-|-|-|- +### Graph Theory I + +#### Day 1 Matrix Related Problems + +| | | | | | +|-|-|-|-|-|- +| 0200 |[Number of Islands](src/main/scala/g0101_0200/s0200_number_of_islands/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Depth_First_Search, Breadth_First_Search, Matrix, Union_Find, Big_O_Time_O(M\*N)_Space_O(M\*N) | 537 | 93.18 + +#### Day 2 Matrix Related Problems + +| | | | | | +|-|-|-|-|-|- + +#### Day 3 Matrix Related Problems + +| | | | | | +|-|-|-|-|-|- + +#### Day 4 Matrix Related Problems + +| | | | | | +|-|-|-|-|-|- + +#### Day 5 Matrix Related Problems + +| | | | | | +|-|-|-|-|-|- + +#### Day 6 Matrix Related Problems + +| | | | | | +|-|-|-|-|-|- + +#### Day 7 Standard Traversal + +| | | | | | +|-|-|-|-|-|- + +#### Day 8 Standard Traversal + +| | | | | | +|-|-|-|-|-|- + +#### Day 9 Standard Traversal + +| | | | | | +|-|-|-|-|-|- + +#### Day 10 Standard Traversal + +| | | | | | +|-|-|-|-|-|- + +#### Day 11 Breadth First Search + +| | | | | | +|-|-|-|-|-|- + +#### Day 12 Breadth First Search + +| | | | | | +|-|-|-|-|-|- + +#### Day 13 Graph Theory + +| | | | | | +|-|-|-|-|-|- + +#### Day 14 Graph Theory + +| | | | | | +|-|-|-|-|-|- + ## Algorithms | # | Title | Difficulty | Tag | Time, ms | Time, % @@ -1447,7 +1447,7 @@ implementation 'com.github.javadev:leetcode-in-scala:1.0' | 0322 |[Coin Change](src/main/scala/g0301_0400/s0322_coin_change/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Breadth_First_Search, Algorithm_II_Day_18_Dynamic_Programming, Dynamic_Programming_I_Day_20, Level_2_Day_12_Dynamic_Programming, Big_O_Time_O(m\*n)_Space_O(amount) | 533 | 84.21 | 0300 |[Longest Increasing Subsequence](src/main/scala/g0201_0300/s0300_longest_increasing_subsequence/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Binary_Search, Algorithm_II_Day_16_Dynamic_Programming, Binary_Search_II_Day_3, Dynamic_Programming_I_Day_18, Udemy_Dynamic_Programming, Big_O_Time_O(n\*log_n)_Space_O(n) | 522 | 88.89 | 0295 |[Find Median from Data Stream](src/main/scala/g0201_0300/s0295_find_median_from_data_stream/MedianFinder.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, Sorting, Two_Pointers, Design, Heap_Priority_Queue, Data_Stream, Big_O_Time_O(n\*log_n)_Space_O(n) | 1690 | 83.33 -| 0287 |[Find the Duplicate Number](src/main/scala/g0201_0300/s0287_find_the_duplicate_number/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Two_Pointers, Bit_Manipulation, Binary_Search_II_Day_5, Big_O_Time_O(n)_Space_O(n) | 765 | 77.38 +| 0287 |[Find the Duplicate Number](src/main/scala/g0201_0300/s0287_find_the_duplicate_number/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Two_Pointers, Bit_Manipulation, Binary_Search_II_Day_5, Big_O_Time_O(n)_Space_O(n) | 866 | 83.33 | 0283 |[Move Zeroes](src/main/scala/g0201_0300/s0283_move_zeroes/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Two_Pointers, Algorithm_I_Day_3_Two_Pointers, Programming_Skills_I_Day_6_Array, Udemy_Arrays, Big_O_Time_O(n)_Space_O(1) | 572 | 86.11 | 0240 |[Search a 2D Matrix II](src/main/scala/g0201_0300/s0240_search_a_2d_matrix_ii/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Matrix, Divide_and_Conquer, Data_Structure_II_Day_4_Array, Binary_Search_II_Day_8, Big_O_Time_O(n+m)_Space_O(1) | 579 | 66.67 | 0239 |[Sliding Window Maximum](src/main/scala/g0201_0300/s0239_sliding_window_maximum/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, Array, Heap_Priority_Queue, Sliding_Window, Queue, Monotonic_Queue, Udemy_Arrays, Big_O_Time_O(n\*k)_Space_O(n+k) | 1149 | 86.67 @@ -1459,7 +1459,7 @@ implementation 'com.github.javadev:leetcode-in-scala:1.0' | 0221 |[Maximal Square](src/main/scala/g0201_0300/s0221_maximal_square/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Matrix, Dynamic_Programming_I_Day_16, Big_O_Time_O(m\*n)_Space_O(m\*n) | 626 | 100.00 | 0215 |[Kth Largest Element in an Array](src/main/scala/g0201_0300/s0215_kth_largest_element_in_an_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Heap_Priority_Queue, Divide_and_Conquer, Quickselect, Data_Structure_II_Day_20_Heap_Priority_Queue, Big_O_Time_O(n\*log(n))_Space_O(log(n)) | 799 | 95.45 | 0208 |[Implement Trie (Prefix Tree)](src/main/scala/g0201_0300/s0208_implement_trie_prefix_tree/Trie.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Design, Trie, Level_2_Day_16_Design, Udemy_Trie_and_Heap, Big_O_Time_O(word.length())_or_O(prefix.length())_Space_O(N) | 610 | 100.00 -| 0207 |[Course Schedule](src/main/scala/g0201_0300/s0207_course_schedule/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Breadth_First_Search, Graph, Topological_Sort, Big_O_Time_O(N)_Space_O(N) | 548 | 87.81 +| 0207 |[Course Schedule](src/main/scala/g0201_0300/s0207_course_schedule/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Breadth_First_Search, Graph, Topological_Sort, Big_O_Time_O(N)_Space_O(N) | 720 | 91.11 | 0206 |[Reverse Linked List](src/main/scala/g0201_0300/s0206_reverse_linked_list/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Data_Structure_I_Day_8_Linked_List, Algorithm_I_Day_10_Recursion_Backtracking, Level_1_Day_3_Linked_List, Udemy_Linked_List, Big_O_Time_O(N)_Space_O(1) | 474 | 87.50 | 0200 |[Number of Islands](src/main/scala/g0101_0200/s0200_number_of_islands/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Depth_First_Search, Breadth_First_Search, Matrix, Union_Find, Algorithm_II_Day_6_Breadth_First_Search_Depth_First_Search, Graph_Theory_I_Day_1_Matrix_Related_Problems, Level_1_Day_9_Graph/BFS/DFS, Udemy_Graph, Big_O_Time_O(M\*N)_Space_O(M\*N) | 537 | 93.18 | 0198 |[House Robber](src/main/scala/g0101_0200/s0198_house_robber/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Algorithm_I_Day_12_Dynamic_Programming, Dynamic_Programming_I_Day_3, Level_2_Day_12_Dynamic_Programming, Udemy_Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) | 426 | 98.04 @@ -1488,8 +1488,8 @@ implementation 'com.github.javadev:leetcode-in-scala:1.0' | 0098 |[Validate Binary Search Tree](src/main/scala/g0001_0100/s0098_validate_binary_search_tree/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Binary_Search_Tree, Data_Structure_I_Day_14_Tree, Level_1_Day_8_Binary_Search_Tree, Udemy_Tree_Stack_Queue, Big_O_Time_O(N)_Space_O(log(N)) | 507 | 70.21 | 0096 |[Unique Binary Search Trees](src/main/scala/g0001_0100/s0096_unique_binary_search_trees/Solution.scala)| Medium | Top_100_Liked_Questions, Dynamic_Programming, Math, Tree, Binary_Tree, Binary_Search_Tree, Dynamic_Programming_I_Day_11, Big_O_Time_O(n)_Space_O(1) | 403 | 66.67 | 0094 |[Binary Tree Inorder Traversal](src/main/scala/g0001_0100/s0094_binary_tree_inorder_traversal/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Stack, Data_Structure_I_Day_10_Tree, Udemy_Tree_Stack_Queue, Big_O_Time_O(n)_Space_O(n) | 456 | 68.42 -| 0084 |[Largest Rectangle in Histogram](src/main/scala/g0001_0100/s0084_largest_rectangle_in_histogram/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, Array, Stack, Monotonic_Stack, Big_O_Time_O(n_log_n)_Space_O(log_n) | 904 | 71.43 -| 0079 |[Word Search](src/main/scala/g0001_0100/s0079_word_search/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Matrix, Backtracking, Algorithm_II_Day_11_Recursion_Backtracking, Big_O_Time_O(4^(m\*n))_Space_O(m\*n) | 783 | 94.87 +| 0084 |[Largest Rectangle in Histogram](src/main/scala/g0001_0100/s0084_largest_rectangle_in_histogram/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, Array, Stack, Monotonic_Stack, Big_O_Time_O(n_log_n)_Space_O(log_n) | 1092 | 71.43 +| 0079 |[Word Search](src/main/scala/g0001_0100/s0079_word_search/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Matrix, Backtracking, Algorithm_II_Day_11_Recursion_Backtracking, Big_O_Time_O(4^(m\*n))_Space_O(m\*n) | 848 | 74.19 | 0078 |[Subsets](src/main/scala/g0001_0100/s0078_subsets/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Bit_Manipulation, Backtracking, Algorithm_II_Day_9_Recursion_Backtracking, Udemy_Backtracking/Recursion, Big_O_Time_O(2^n)_Space_O(n\*2^n) | 452 | 87.50 | 0076 |[Minimum Window Substring](src/main/scala/g0001_0100/s0076_minimum_window_substring/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Sliding_Window, Level_2_Day_14_Sliding_Window/Two_Pointer, Big_O_Time_O(s.length())_Space_O(1) | 453 | 100.00 | 0075 |[Sort Colors](src/main/scala/g0001_0100/s0075_sort_colors/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Two_Pointers, Data_Structure_II_Day_2_Array, Udemy_Arrays, Big_O_Time_O(n)_Space_O(1) | 450 | 84.21 @@ -1500,15 +1500,15 @@ implementation 'com.github.javadev:leetcode-in-scala:1.0' | 0064 |[Minimum Path Sum](src/main/scala/g0001_0100/s0064_minimum_path_sum/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Matrix, Dynamic_Programming_I_Day_16, Udemy_Dynamic_Programming, Big_O_Time_O(m\*n)_Space_O(m\*n) | 521 | 92.86 | 0062 |[Unique Paths](src/main/scala/g0001_0100/s0062_unique_paths/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Combinatorics, Algorithm_II_Day_13_Dynamic_Programming, Dynamic_Programming_I_Day_15, Level_1_Day_11_Dynamic_Programming, Big_O_Time_O(m\*n)_Space_O(m\*n) | 405 | 70.18 | 0056 |[Merge Intervals](src/main/scala/g0001_0100/s0056_merge_intervals/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Data_Structure_II_Day_2_Array, Level_2_Day_17_Interval, Udemy_2D_Arrays/Matrix, Big_O_Time_O(n_log_n)_Space_O(n) | 583 | 90.91 -| 0055 |[Jump Game](src/main/scala/g0001_0100/s0055_jump_game/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Greedy, Algorithm_II_Day_12_Dynamic_Programming, Dynamic_Programming_I_Day_4, Udemy_Arrays, Big_O_Time_O(n)_Space_O(1) | 622 | 88.31 +| 0055 |[Jump Game](src/main/scala/g0001_0100/s0055_jump_game/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Greedy, Algorithm_II_Day_12_Dynamic_Programming, Dynamic_Programming_I_Day_4, Udemy_Arrays, Big_O_Time_O(n)_Space_O(1) | 769 | 79.03 | 0053 |[Maximum Subarray](src/main/scala/g0001_0100/s0053_maximum_subarray/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Divide_and_Conquer, Data_Structure_I_Day_1_Array, Dynamic_Programming_I_Day_5, Udemy_Famous_Algorithm, Big_O_Time_O(n)_Space_O(1) | 766 | 84.95 | 0051 |[N-Queens](src/main/scala/g0001_0100/s0051_n_queens/Solution.scala)| Hard | Top_100_Liked_Questions, Array, Backtracking, Big_O_Time_O(N!)_Space_O(N) | 483 | 93.33 | 0049 |[Group Anagrams](src/main/scala/g0001_0100/s0049_group_anagrams/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, String, Hash_Table, Sorting, Data_Structure_II_Day_8_String, Programming_Skills_II_Day_11, Udemy_Strings, Big_O_Time_O(n\*k_log_k)_Space_O(n) | 618 | 91.67 | 0048 |[Rotate Image](src/main/scala/g0001_0100/s0048_rotate_image/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Math, Matrix, Data_Structure_II_Day_3_Array, Programming_Skills_II_Day_7, Udemy_2D_Arrays/Matrix, Big_O_Time_O(n^2)_Space_O(1) | 472 | 66.67 | 0046 |[Permutations](src/main/scala/g0001_0100/s0046_permutations/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Backtracking, Algorithm_I_Day_11_Recursion_Backtracking, Level_2_Day_20_Brute_Force/Backtracking, Udemy_Backtracking/Recursion, Big_O_Time_O(n\*n!)_Space_O(n+n!) | 470 | 92.31 -| 0045 |[Jump Game II](src/main/scala/g0001_0100/s0045_jump_game_ii/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Greedy, Algorithm_II_Day_13_Dynamic_Programming, Dynamic_Programming_I_Day_4, Big_O_Time_O(n)_Space_O(1) | 510 | 88.52 +| 0045 |[Jump Game II](src/main/scala/g0001_0100/s0045_jump_game_ii/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Greedy, Algorithm_II_Day_13_Dynamic_Programming, Dynamic_Programming_I_Day_4, Big_O_Time_O(n)_Space_O(1) | 653 | 83.87 | 0042 |[Trapping Rain Water](src/main/scala/g0001_0100/s0042_trapping_rain_water/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Two_Pointers, Stack, Monotonic_Stack, Dynamic_Programming_I_Day_9, Udemy_Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 521 | 87.88 -| 0041 |[First Missing Positive](src/main/scala/g0001_0100/s0041_first_missing_positive/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Udemy_Arrays, Big_O_Time_O(n)_Space_O(n) | 650 | 100.00 +| 0041 |[First Missing Positive](src/main/scala/g0001_0100/s0041_first_missing_positive/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Udemy_Arrays, Big_O_Time_O(n)_Space_O(n) | 912 | 84.21 | 0039 |[Combination Sum](src/main/scala/g0001_0100/s0039_combination_sum/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Backtracking, Algorithm_II_Day_10_Recursion_Backtracking, Level_2_Day_20_Brute_Force/Backtracking, Udemy_Backtracking/Recursion, Big_O_Time_O(2^n)_Space_O(n+2^n) | 488 | 97.50 | 0035 |[Search Insert Position](src/main/scala/g0001_0100/s0035_search_insert_position/Solution.scala)| Easy | Top_100_Liked_Questions, Array, Binary_Search, Algorithm_I_Day_1_Binary_Search, Binary_Search_I_Day_2, Big_O_Time_O(log_n)_Space_O(1) | 466 | 87.04 | 0034 |[Find First and Last Position of Element in Sorted Array](src/main/scala/g0001_0100/s0034_find_first_and_last_position_of_element_in_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Algorithm_II_Day_1_Binary_Search, Binary_Search_I_Day_5, Big_O_Time_O(log_n)_Space_O(1) | 478 | 97.85 @@ -1520,7 +1520,7 @@ implementation 'com.github.javadev:leetcode-in-scala:1.0' | 0023 |[Merge k Sorted Lists](src/main/scala/g0001_0100/s0023_merge_k_sorted_lists/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, Heap_Priority_Queue, Linked_List, Divide_and_Conquer, Merge_Sort, Big_O_Time_O(k\*n\*log(k))_Space_O(log(k)) | 549 | 94.74 | 0022 |[Generate Parentheses](src/main/scala/g0001_0100/s0022_generate_parentheses/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Backtracking, Algorithm_II_Day_11_Recursion_Backtracking, Udemy_Backtracking/Recursion, Big_O_Time_O(2^n)_Space_O(n) | 380 | 100.00 | 0021 |[Merge Two Sorted Lists](src/main/scala/g0001_0100/s0021_merge_two_sorted_lists/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Data_Structure_I_Day_7_Linked_List, Algorithm_I_Day_10_Recursion_Backtracking, Level_1_Day_3_Linked_List, Udemy_Linked_List, Big_O_Time_O(m+n)_Space_O(m+n) | 480 | 89.72 -| 0020 |[Valid Parentheses](src/main/scala/g0001_0100/s0020_valid_parentheses/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, String, Stack, Data_Structure_I_Day_9_Stack_Queue, Udemy_Strings, Big_O_Time_O(n)_Space_O(n) | 449 | 65.58 +| 0020 |[Valid Parentheses](src/main/scala/g0001_0100/s0020_valid_parentheses/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, String, Stack, Data_Structure_I_Day_9_Stack_Queue, Udemy_Strings, Big_O_Time_O(n)_Space_O(n) | 587 | 69.29 | 0019 |[Remove Nth Node From End of List](src/main/scala/g0001_0100/s0019_remove_nth_node_from_end_of_list/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Two_Pointers, Linked_List, Algorithm_I_Day_5_Two_Pointers, Level_2_Day_3_Linked_List, Big_O_Time_O(L)_Space_O(L) | 492 | 52.63 | 0017 |[Letter Combinations of a Phone Number](src/main/scala/g0001_0100/s0017_letter_combinations_of_a_phone_number/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Backtracking, Algorithm_II_Day_11_Recursion_Backtracking, Udemy_Backtracking/Recursion, Big_O_Time_O(4^n)_Space_O(n) | 459 | 58.54 | 0015 |[3Sum](src/main/scala/g0001_0100/s0015_3sum/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Two_Pointers, Data_Structure_II_Day_1_Array, Algorithm_II_Day_3_Two_Pointers, Udemy_Two_Pointers, Big_O_Time_O(n\*log(n))_Space_O(n^2) | 721 | 95.24 @@ -1534,7 +1534,7 @@ implementation 'com.github.javadev:leetcode-in-scala:1.0' | 0004 |[Median of Two Sorted Arrays](src/main/scala/g0001_0100/s0004_median_of_two_sorted_arrays/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Divide_and_Conquer, Big_O_Time_O(log(min(N,M)))_Space_O(1) | 644 | 80.82 | 0003 |[Longest Substring Without Repeating Characters](src/main/scala/g0001_0100/s0003_longest_substring_without_repeating_characters/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Sliding_Window, Algorithm_I_Day_6_Sliding_Window, Level_2_Day_14_Sliding_Window/Two_Pointer, Udemy_Strings, Big_O_Time_O(n)_Space_O(1) | 482 | 96.91 | 0002 |[Add Two Numbers](src/main/scala/g0001_0100/s0002_add_two_numbers/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Math, Linked_List, Recursion, Data_Structure_II_Day_10_Linked_List, Programming_Skills_II_Day_15, Big_O_Time_O(max(N,M))_Space_O(max(N,M)) | 571 | 75.12 -| 0001 |[Two Sum](src/main/scala/g0001_0100/s0001_two_sum/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Data_Structure_I_Day_2_Array, Level_1_Day_13_Hashmap, Udemy_Arrays, Big_O_Time_O(n)_Space_O(n) | 517 | 86.66 +| 0001 |[Two Sum](src/main/scala/g0001_0100/s0001_two_sum/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Data_Structure_I_Day_2_Array, Level_1_Day_13_Hashmap, Udemy_Arrays, Big_O_Time_O(n)_Space_O(n) | 680 | 76.33 ## Contributing Your ideas/fixes/algorithms are more than welcome! diff --git a/src/main/scala/g0201_0300/s0287_find_the_duplicate_number/Solution.scala b/src/main/scala/g0201_0300/s0287_find_the_duplicate_number/Solution.scala index 7689738..71aec2d 100644 --- a/src/main/scala/g0201_0300/s0287_find_the_duplicate_number/Solution.scala +++ b/src/main/scala/g0201_0300/s0287_find_the_duplicate_number/Solution.scala @@ -1,18 +1,19 @@ package g0201_0300.s0287_find_the_duplicate_number -// #Medium #Top_100_Liked_Questions #Top_Interview_Questions #Array #Binary_Search #Two_Pointers -// #Bit_Manipulation #Binary_Search_II_Day_5 #Big_O_Time_O(n)_Space_O(n) -// #2023_11_08_Time_765_ms_(77.38%)_Space_75.7_MB_(96.43%) +// #Medium #Top_100_Liked_Questions #Array #Binary_Search #Two_Pointers #Bit_Manipulation +// #Binary_Search_II_Day_5 #Big_O_Time_O(n)_Space_O(n) +// #2024_06_02_Time_866_ms_(83.33%)_Space_77.4_MB_(50.00%) object Solution { def findDuplicate(nums: Array[Int]): Int = { val arr = new Array[Int](nums.length + 1) + var duplicate = 0 for (num <- nums) { arr(num) += 1 if (arr(num) == 2) { - return num + duplicate = num } } - 0 + duplicate } } From 6aeb60f742510a6642f0c29fe28edd448d187c43 Mon Sep 17 00:00:00 2001 From: Valentyn Kolesnikov Date: Fri, 31 Jan 2025 14:13:35 +0200 Subject: [PATCH 18/18] Updated readme --- README.md | 1105 +++++++++++++++++++++++++++++++---------------------- 1 file changed, 645 insertions(+), 460 deletions(-) diff --git a/README.md b/README.md index 92b7573..af93fc8 100644 --- a/README.md +++ b/README.md @@ -31,11 +31,6 @@ implementation 'com.github.javadev:leetcode-in-scala:1.0' > ["For coding interview preparation, LeetCode is one of the best online resource providing a rich library of more than 300 real coding interview questions for you to practice from using one of the 7 supported languages - C, C++, Java, Python, C#, JavaScript, Ruby."](https://www.quora.com/How-effective-is-Leetcode-for-preparing-for-technical-interviews) ## -* [SQL I](#sql-i) -* [Level 1](#level-1) -* [Level 2](#level-2) -* [Udemy](#udemy) -* [Data Structure I](#data-structure-i) * [Data Structure II](#data-structure-ii) * [Algorithm I](#algorithm-i) * [Algorithm II](#algorithm-ii) @@ -45,1387 +40,1577 @@ implementation 'com.github.javadev:leetcode-in-scala:1.0' * [Programming Skills I](#programming-skills-i) * [Programming Skills II](#programming-skills-ii) * [Graph Theory I](#graph-theory-i) +* [SQL I](#sql-i) +* [Level 1](#level-1) +* [Level 2](#level-2) +* [Udemy](#udemy) +* [Top Interview 150](#top-interview-150) +* [Data Structure I](#data-structure-i) -### SQL I +### Data Structure II -#### Day 1 Select +#### Day 1 Array | | | | | | |-|-|-|-|-|- +| 0136 |[Single Number](src/main/scala/g0101_0200/s0136_single_number/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Bit_Manipulation, Big_O_Time_O(N)_Space_O(1) | 530 | 78.57 +| 0169 |[Majority Element](src/main/scala/g0101_0200/s0169_majority_element/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Sorting, Counting, Divide_and_Conquer, Big_O_Time_O(n)_Space_O(1) | 538 | 92.57 +| 0015 |[3Sum](src/main/scala/g0001_0100/s0015_3sum/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Two_Pointers, Big_O_Time_O(n\*log(n))_Space_O(n^2) | 721 | 95.24 -#### Day 2 Select and Order +#### Day 2 Array | | | | | | |-|-|-|-|-|- +| 0075 |[Sort Colors](src/main/scala/g0001_0100/s0075_sort_colors/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 450 | 84.21 +| 0056 |[Merge Intervals](src/main/scala/g0001_0100/s0056_merge_intervals/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Big_O_Time_O(n_log_n)_Space_O(n) | 583 | 90.91 -#### Day 3 String Processing Functions +#### Day 3 Array | | | | | | |-|-|-|-|-|- +| 0048 |[Rotate Image](src/main/scala/g0001_0100/s0048_rotate_image/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Math, Matrix, Big_O_Time_O(n^2)_Space_O(1) | 472 | 66.67 -#### Day 4 Union and Select +#### Day 4 Array | | | | | | |-|-|-|-|-|- +| 0240 |[Search a 2D Matrix II](src/main/scala/g0201_0300/s0240_search_a_2d_matrix_ii/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Matrix, Divide_and_Conquer, Big_O_Time_O(n+m)_Space_O(1) | 579 | 66.67 -#### Day 5 Union +#### Day 5 Array | | | | | | |-|-|-|-|-|- +| 0238 |[Product of Array Except Self](src/main/scala/g0201_0300/s0238_product_of_array_except_self/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Prefix_Sum, Big_O_Time_O(n^2)_Space_O(n) | 634 | 79.44 +| 0560 |[Subarray Sum Equals K](src/main/scala/g0501_0600/s0560_subarray_sum_equals_k/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Hash_Table, Prefix_Sum, Big_O_Time_O(n)_Space_O(n) | 627 | 92.31 -#### Day 6 Union +#### Day 6 String | | | | | | |-|-|-|-|-|- -#### Day 7 Function +#### Day 7 String | | | | | | |-|-|-|-|-|- +| 0763 |[Partition Labels](src/main/scala/g0701_0800/s0763_partition_labels/Solution.scala)| Medium | Top_100_Liked_Questions, String, Hash_Table, Greedy, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 442 | 100.00 -#### Day 8 Function +#### Day 8 String | | | | | | |-|-|-|-|-|- +| 0049 |[Group Anagrams](src/main/scala/g0001_0100/s0049_group_anagrams/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, String, Hash_Table, Sorting, Big_O_Time_O(n\*k_log_k)_Space_O(n) | 618 | 91.67 -#### Day 9 Control of Flow +#### Day 9 String | | | | | | |-|-|-|-|-|- +| 0005 |[Longest Palindromic Substring](src/main/scala/g0001_0100/s0005_longest_palindromic_substring/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) | 502 | 87.65 -#### Day 10 Where +#### Day 10 Linked List | | | | | | |-|-|-|-|-|- +| 0002 |[Add Two Numbers](src/main/scala/g0001_0100/s0002_add_two_numbers/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Math, Linked_List, Recursion, Big_O_Time_O(max(N,M))_Space_O(max(N,M)) | 571 | 75.12 +| 0142 |[Linked List Cycle II](src/main/scala/g0101_0200/s0142_linked_list_cycle_ii/Solution.scala)| Medium | Top_100_Liked_Questions, Hash_Table, Two_Pointers, Linked_List, Big_O_Time_O(N)_Space_O(1) | 501 | 61.54 -### Level 1 - -#### Day 1 Prefix Sum +#### Day 11 Linked List | | | | | | |-|-|-|-|-|- +| 0160 |[Intersection of Two Linked Lists](src/main/scala/g0101_0200/s0160_intersection_of_two_linked_lists/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Hash_Table, Two_Pointers, Linked_List, Big_O_Time_O(M+N)_Space_O(1) | 564 | 96.43 -#### Day 2 String +#### Day 12 Linked List | | | | | | |-|-|-|-|-|- +| 0024 |[Swap Nodes in Pairs](src/main/scala/g0001_0100/s0024_swap_nodes_in_pairs/Solution.scala)| Medium | Top_100_Liked_Questions, Linked_List, Recursion, Big_O_Time_O(n)_Space_O(1) | 441 | 95.65 -#### Day 3 Linked List +#### Day 13 Linked List | | | | | | |-|-|-|-|-|- -| 0021 |[Merge Two Sorted Lists](src/main/scala/g0001_0100/s0021_merge_two_sorted_lists/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(m+n)_Space_O(m+n) | 480 | 89.72 -| 0206 |[Reverse Linked List](src/main/scala/g0201_0300/s0206_reverse_linked_list/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(N)_Space_O(1) | 474 | 87.50 +| 0025 |[Reverse Nodes in k-Group](src/main/scala/g0001_0100/s0025_reverse_nodes_in_k_group/Solution.scala)| Hard | Top_100_Liked_Questions, Linked_List, Recursion, Big_O_Time_O(n)_Space_O(k) | 520 | 80.00 -#### Day 4 Linked List +#### Day 14 Stack Queue | | | | | | |-|-|-|-|-|- -| 0142 |[Linked List Cycle II](src/main/scala/g0101_0200/s0142_linked_list_cycle_ii/Solution.scala)| Medium | Top_100_Liked_Questions, Hash_Table, Two_Pointers, Linked_List, Big_O_Time_O(N)_Space_O(1) | 501 | 61.54 +| 0155 |[Min Stack](src/main/scala/g0101_0200/s0155_min_stack/MinStack.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Stack, Design, Big_O_Time_O(1)_Space_O(N) | 566 | 90.91 -#### Day 5 Greedy +#### Day 15 Tree | | | | | | |-|-|-|-|-|- -| 0121 |[Best Time to Buy and Sell Stock](src/main/scala/g0101_0200/s0121_best_time_to_buy_and_sell_stock/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(N)_Space_O(1) | 762 | 98.45 +| 0105 |[Construct Binary Tree from Preorder and Inorder Traversal](src/main/scala/g0101_0200/s0105_construct_binary_tree_from_preorder_and_inorder_traversal/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Tree, Binary_Tree, Divide_and_Conquer, Big_O_Time_O(N)_Space_O(N) | 564 | 91.67 -#### Day 6 Tree +#### Day 16 Tree | | | | | | |-|-|-|-|-|- -| 0102 |[Binary Tree Level Order Traversal](src/main/scala/g0101_0200/s0102_binary_tree_level_order_traversal/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(N) | 522 | 83.33 -#### Day 7 Binary Search +#### Day 17 Tree | | | | | | |-|-|-|-|-|- +| 0230 |[Kth Smallest Element in a BST](src/main/scala/g0201_0300/s0230_kth_smallest_element_in_a_bst/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Binary_Search_Tree, Big_O_Time_O(n)_Space_O(n) | 503 | 91.30 -#### Day 8 Binary Search Tree +#### Day 18 Tree | | | | | | |-|-|-|-|-|- -| 0098 |[Validate Binary Search Tree](src/main/scala/g0001_0100/s0098_validate_binary_search_tree/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Binary_Search_Tree, Big_O_Time_O(N)_Space_O(log(N)) | 507 | 70.21 +| 0236 |[Lowest Common Ancestor of a Binary Tree](src/main/scala/g0201_0300/s0236_lowest_common_ancestor_of_a_binary_tree/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) | 539 | 70.73 -#### Day 9 Graph/BFS/DFS +#### Day 19 Graph | | | | | | |-|-|-|-|-|- -| 0200 |[Number of Islands](src/main/scala/g0101_0200/s0200_number_of_islands/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Depth_First_Search, Breadth_First_Search, Matrix, Union_Find, Big_O_Time_O(M\*N)_Space_O(M\*N) | 537 | 93.18 -#### Day 10 Dynamic Programming +#### Day 20 Heap Priority Queue | | | | | | |-|-|-|-|-|- -| 0070 |[Climbing Stairs](src/main/scala/g0001_0100/s0070_climbing_stairs/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Memoization, Big_O_Time_O(n)_Space_O(n) | 369 | 98.32 +| 0215 |[Kth Largest Element in an Array](src/main/scala/g0201_0300/s0215_kth_largest_element_in_an_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Heap_Priority_Queue, Divide_and_Conquer, Quickselect, Big_O_Time_O(n\*log(n))_Space_O(log(n)) | 799 | 95.45 +| 0347 |[Top K Frequent Elements](src/main/scala/g0301_0400/s0347_top_k_frequent_elements/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Sorting, Heap_Priority_Queue, Counting, Divide_and_Conquer, Quickselect, Bucket_Sort, Big_O_Time_O(n\*log(n))_Space_O(k) | 589 | 93.24 -#### Day 11 Dynamic Programming +#### Day 21 Heap Priority Queue | | | | | | |-|-|-|-|-|- -| 0062 |[Unique Paths](src/main/scala/g0001_0100/s0062_unique_paths/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Combinatorics, Big_O_Time_O(m\*n)_Space_O(m\*n) | 405 | 70.18 -#### Day 12 Sliding Window/Two Pointer +### Algorithm I + +#### Day 1 Binary Search | | | | | | |-|-|-|-|-|- -| 0438 |[Find All Anagrams in a String](src/main/scala/g0401_0500/s0438_find_all_anagrams_in_a_string/Solution.scala)| Medium | Top_100_Liked_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(n+m)_Space_O(1) | 576 | 100.00 +| 0035 |[Search Insert Position](src/main/scala/g0001_0100/s0035_search_insert_position/Solution.scala)| Easy | Top_100_Liked_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 466 | 87.04 -#### Day 13 Hashmap +#### Day 2 Two Pointers | | | | | | |-|-|-|-|-|- -| 0001 |[Two Sum](src/main/scala/g0001_0100/s0001_two_sum/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Big_O_Time_O(n)_Space_O(n) | 680 | 76.33 +| 0189 |[Rotate Array](src/main/scala/g0101_0200/s0189_rotate_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Math, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 600 | 96.59 -#### Day 14 Stack +#### Day 3 Two Pointers | | | | | | |-|-|-|-|-|- -| 0394 |[Decode String](src/main/scala/g0301_0400/s0394_decode_string/Solution.scala)| Medium | Top_100_Liked_Questions, String, Stack, Recursion, Big_O_Time_O(n)_Space_O(n) | 449 | 50.00 +| 0283 |[Move Zeroes](src/main/scala/g0201_0300/s0283_move_zeroes/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 572 | 86.11 -#### Day 15 Heap +#### Day 4 Two Pointers | | | | | | |-|-|-|-|-|- -### Level 2 - -#### Day 1 Implementation/Simulation +#### Day 5 Two Pointers | | | | | | |-|-|-|-|-|- +| 0019 |[Remove Nth Node From End of List](src/main/scala/g0001_0100/s0019_remove_nth_node_from_end_of_list/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Two_Pointers, Linked_List, Big_O_Time_O(L)_Space_O(L) | 492 | 52.63 -#### Day 2 String +#### Day 6 Sliding Window | | | | | | |-|-|-|-|-|- +| 0003 |[Longest Substring Without Repeating Characters](src/main/scala/g0001_0100/s0003_longest_substring_without_repeating_characters/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(n)_Space_O(1) | 482 | 96.91 -#### Day 3 Linked List +#### Day 7 Breadth First Search Depth First Search | | | | | | |-|-|-|-|-|- -| 0019 |[Remove Nth Node From End of List](src/main/scala/g0001_0100/s0019_remove_nth_node_from_end_of_list/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Two_Pointers, Linked_List, Big_O_Time_O(L)_Space_O(L) | 492 | 52.63 -| 0234 |[Palindrome Linked List](src/main/scala/g0201_0300/s0234_palindrome_linked_list/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Two_Pointers, Stack, Linked_List, Recursion, Big_O_Time_O(n)_Space_O(1) | 811 | 85.71 -#### Day 4 Linked List +#### Day 8 Breadth First Search Depth First Search | | | | | | |-|-|-|-|-|- -| 0148 |[Sort List](src/main/scala/g0101_0200/s0148_sort_list/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Sorting, Two_Pointers, Linked_List, Divide_and_Conquer, Merge_Sort, Big_O_Time_O(log(N))_Space_O(log(N)) | 745 | 75.00 -#### Day 5 Greedy +#### Day 9 Breadth First Search Depth First Search | | | | | | |-|-|-|-|-|- -#### Day 6 Tree +#### Day 10 Recursion Backtracking | | | | | | |-|-|-|-|-|- -| 0226 |[Invert Binary Tree](src/main/scala/g0201_0300/s0226_invert_binary_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) | 421 | 97.33 +| 0021 |[Merge Two Sorted Lists](src/main/scala/g0001_0100/s0021_merge_two_sorted_lists/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(m+n)_Space_O(m+n) | 480 | 89.72 +| 0206 |[Reverse Linked List](src/main/scala/g0201_0300/s0206_reverse_linked_list/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(N)_Space_O(1) | 474 | 87.50 -#### Day 7 Tree +#### Day 11 Recursion Backtracking | | | | | | |-|-|-|-|-|- -| 0543 |[Diameter of Binary Tree](src/main/scala/g0501_0600/s0543_diameter_of_binary_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Depth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) | 479 | 90.48 -| 0437 |[Path Sum III](src/main/scala/g0401_0500/s0437_path_sum_iii/Solution.scala)| Medium | Top_100_Liked_Questions, Depth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) | 498 | 90.91 +| 0046 |[Permutations](src/main/scala/g0001_0100/s0046_permutations/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Backtracking, Big_O_Time_O(n\*n!)_Space_O(n+n!) | 470 | 92.31 -#### Day 8 Binary Search +#### Day 12 Dynamic Programming | | | | | | |-|-|-|-|-|- -| 0074 |[Search a 2D Matrix](src/main/scala/g0001_0100/s0074_search_a_2d_matrix/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Matrix, Big_O_Time_O(endRow+endCol)_Space_O(1) | 478 | 83.33 -| 0033 |[Search in Rotated Sorted Array](src/main/scala/g0001_0100/s0033_search_in_rotated_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 453 | 91.53 +| 0070 |[Climbing Stairs](src/main/scala/g0001_0100/s0070_climbing_stairs/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Memoization, Big_O_Time_O(n)_Space_O(n) | 369 | 98.32 +| 0198 |[House Robber](src/main/scala/g0101_0200/s0198_house_robber/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) | 426 | 98.04 -#### Day 9 Binary Search Tree +#### Day 13 Bit Manipulation | | | | | | |-|-|-|-|-|- -| 0230 |[Kth Smallest Element in a BST](src/main/scala/g0201_0300/s0230_kth_smallest_element_in_a_bst/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Binary_Search_Tree, Big_O_Time_O(n)_Space_O(n) | 503 | 91.30 -#### Day 10 Graph/BFS/DFS +#### Day 14 Bit Manipulation | | | | | | |-|-|-|-|-|- +| 0136 |[Single Number](src/main/scala/g0101_0200/s0136_single_number/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Bit_Manipulation, Big_O_Time_O(N)_Space_O(1) | 530 | 78.57 -#### Day 11 Graph/BFS/DFS +### Algorithm II + +#### Day 1 Binary Search | | | | | | |-|-|-|-|-|- +| 0034 |[Find First and Last Position of Element in Sorted Array](src/main/scala/g0001_0100/s0034_find_first_and_last_position_of_element_in_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 478 | 97.85 +| 0033 |[Search in Rotated Sorted Array](src/main/scala/g0001_0100/s0033_search_in_rotated_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 453 | 91.53 +| 0074 |[Search a 2D Matrix](src/main/scala/g0001_0100/s0074_search_a_2d_matrix/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Matrix, Big_O_Time_O(endRow+endCol)_Space_O(1) | 478 | 83.33 -#### Day 12 Dynamic Programming +#### Day 2 Binary Search | | | | | | |-|-|-|-|-|- -| 0198 |[House Robber](src/main/scala/g0101_0200/s0198_house_robber/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) | 426 | 98.04 -| 0322 |[Coin Change](src/main/scala/g0301_0400/s0322_coin_change/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Breadth_First_Search, Big_O_Time_O(m\*n)_Space_O(amount) | 533 | 84.21 +| 0153 |[Find Minimum in Rotated Sorted Array](src/main/scala/g0101_0200/s0153_find_minimum_in_rotated_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Big_O_Time_O(log_N)_Space_O(log_N) | 457 | 78.79 -#### Day 13 Dynamic Programming +#### Day 3 Two Pointers | | | | | | |-|-|-|-|-|- -| 0416 |[Partition Equal Subset Sum](src/main/scala/g0401_0500/s0416_partition_equal_subset_sum/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Big_O_Time_O(n\*sums)_Space_O(n\*sums) | 577 | 100.00 -| 0152 |[Maximum Product Subarray](src/main/scala/g0101_0200/s0152_maximum_product_subarray/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(N)_Space_O(1) | 472 | 100.00 +| 0015 |[3Sum](src/main/scala/g0001_0100/s0015_3sum/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Two_Pointers, Big_O_Time_O(n\*log(n))_Space_O(n^2) | 721 | 95.24 -#### Day 14 Sliding Window/Two Pointer +#### Day 4 Two Pointers | | | | | | |-|-|-|-|-|- -| 0003 |[Longest Substring Without Repeating Characters](src/main/scala/g0001_0100/s0003_longest_substring_without_repeating_characters/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(n)_Space_O(1) | 482 | 96.91 -| 0076 |[Minimum Window Substring](src/main/scala/g0001_0100/s0076_minimum_window_substring/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(s.length())_Space_O(1) | 453 | 100.00 +| 0011 |[Container With Most Water](src/main/scala/g0001_0100/s0011_container_with_most_water/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Greedy, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 683 | 99.13 -#### Day 15 Tree +#### Day 5 Sliding Window | | | | | | |-|-|-|-|-|- -| 0101 |[Symmetric Tree](src/main/scala/g0101_0200/s0101_symmetric_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(log(N)) | 454 | 90.38 +| 0438 |[Find All Anagrams in a String](src/main/scala/g0401_0500/s0438_find_all_anagrams_in_a_string/Solution.scala)| Medium | Top_100_Liked_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(n+m)_Space_O(1) | 576 | 100.00 -#### Day 16 Design +#### Day 6 Breadth First Search Depth First Search | | | | | | |-|-|-|-|-|- -| 0155 |[Min Stack](src/main/scala/g0101_0200/s0155_min_stack/MinStack.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Stack, Design, Big_O_Time_O(1)_Space_O(N) | 566 | 90.91 -| 0208 |[Implement Trie (Prefix Tree)](src/main/scala/g0201_0300/s0208_implement_trie_prefix_tree/Trie.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Design, Trie, Big_O_Time_O(word.length())_or_O(prefix.length())_Space_O(N) | 610 | 100.00 +| 0200 |[Number of Islands](src/main/scala/g0101_0200/s0200_number_of_islands/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Depth_First_Search, Breadth_First_Search, Matrix, Union_Find, Big_O_Time_O(M\*N)_Space_O(M\*N) | 537 | 93.18 -#### Day 17 Interval +#### Day 7 Breadth First Search Depth First Search | | | | | | |-|-|-|-|-|- -| 0056 |[Merge Intervals](src/main/scala/g0001_0100/s0056_merge_intervals/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Big_O_Time_O(n_log_n)_Space_O(n) | 583 | 90.91 -#### Day 18 Stack +#### Day 8 Breadth First Search Depth First Search | | | | | | |-|-|-|-|-|- -#### Day 19 Union Find +#### Day 9 Recursion Backtracking | | | | | | |-|-|-|-|-|- +| 0078 |[Subsets](src/main/scala/g0001_0100/s0078_subsets/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Bit_Manipulation, Backtracking, Big_O_Time_O(2^n)_Space_O(n\*2^n) | 452 | 87.50 -#### Day 20 Brute Force/Backtracking +#### Day 10 Recursion Backtracking | | | | | | |-|-|-|-|-|- | 0039 |[Combination Sum](src/main/scala/g0001_0100/s0039_combination_sum/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Backtracking, Big_O_Time_O(2^n)_Space_O(n+2^n) | 488 | 97.50 -| 0046 |[Permutations](src/main/scala/g0001_0100/s0046_permutations/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Backtracking, Big_O_Time_O(n\*n!)_Space_O(n+n!) | 470 | 92.31 -### Udemy - -#### Udemy Integers +#### Day 11 Recursion Backtracking | | | | | | |-|-|-|-|-|- -| 0136 |[Single Number](src/main/scala/g0101_0200/s0136_single_number/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Bit_Manipulation, Big_O_Time_O(N)_Space_O(1) | 530 | 78.57 -| 0007 |[Reverse Integer](src/main/scala/g0001_0100/s0007_reverse_integer/Solution.scala)| Medium | Top_Interview_Questions, Math | 405 | 90.16 -| 0009 |[Palindrome Number](src/main/scala/g0001_0100/s0009_palindrome_number/Solution.scala)| Easy | Math | 453 | 99.49 +| 0017 |[Letter Combinations of a Phone Number](src/main/scala/g0001_0100/s0017_letter_combinations_of_a_phone_number/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Backtracking, Big_O_Time_O(4^n)_Space_O(n) | 459 | 58.54 +| 0022 |[Generate Parentheses](src/main/scala/g0001_0100/s0022_generate_parentheses/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Backtracking, Big_O_Time_O(2^n)_Space_O(n) | 380 | 100.00 +| 0079 |[Word Search](src/main/scala/g0001_0100/s0079_word_search/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Matrix, Backtracking, Big_O_Time_O(4^(m\*n))_Space_O(m\*n) | 848 | 74.19 -#### Udemy Strings +#### Day 12 Dynamic Programming | | | | | | |-|-|-|-|-|- -| 0003 |[Longest Substring Without Repeating Characters](src/main/scala/g0001_0100/s0003_longest_substring_without_repeating_characters/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(n)_Space_O(1) | 482 | 96.91 -| 0020 |[Valid Parentheses](src/main/scala/g0001_0100/s0020_valid_parentheses/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, String, Stack, Big_O_Time_O(n)_Space_O(n) | 587 | 69.29 -| 0005 |[Longest Palindromic Substring](src/main/scala/g0001_0100/s0005_longest_palindromic_substring/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) | 502 | 87.65 -| 0394 |[Decode String](src/main/scala/g0301_0400/s0394_decode_string/Solution.scala)| Medium | Top_100_Liked_Questions, String, Stack, Recursion, Big_O_Time_O(n)_Space_O(n) | 449 | 50.00 -| 0049 |[Group Anagrams](src/main/scala/g0001_0100/s0049_group_anagrams/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, String, Hash_Table, Sorting, Big_O_Time_O(n\*k_log_k)_Space_O(n) | 618 | 91.67 +| 0055 |[Jump Game](src/main/scala/g0001_0100/s0055_jump_game/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) | 769 | 79.03 -#### Udemy Binary Search +#### Day 13 Dynamic Programming | | | | | | |-|-|-|-|-|- -| 0033 |[Search in Rotated Sorted Array](src/main/scala/g0001_0100/s0033_search_in_rotated_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 453 | 91.53 -| 0153 |[Find Minimum in Rotated Sorted Array](src/main/scala/g0101_0200/s0153_find_minimum_in_rotated_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Big_O_Time_O(log_N)_Space_O(log_N) | 457 | 78.79 +| 0045 |[Jump Game II](src/main/scala/g0001_0100/s0045_jump_game_ii/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) | 653 | 83.87 +| 0062 |[Unique Paths](src/main/scala/g0001_0100/s0062_unique_paths/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Combinatorics, Big_O_Time_O(m\*n)_Space_O(m\*n) | 405 | 70.18 -#### Udemy Arrays +#### Day 14 Dynamic Programming | | | | | | |-|-|-|-|-|- -| 0121 |[Best Time to Buy and Sell Stock](src/main/scala/g0101_0200/s0121_best_time_to_buy_and_sell_stock/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(N)_Space_O(1) | 762 | 98.45 -| 0283 |[Move Zeroes](src/main/scala/g0201_0300/s0283_move_zeroes/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 572 | 86.11 -| 0001 |[Two Sum](src/main/scala/g0001_0100/s0001_two_sum/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Big_O_Time_O(n)_Space_O(n) | 680 | 76.33 -| 0189 |[Rotate Array](src/main/scala/g0101_0200/s0189_rotate_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Math, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 600 | 96.59 -| 0055 |[Jump Game](src/main/scala/g0001_0100/s0055_jump_game/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) | 769 | 79.03 -| 0075 |[Sort Colors](src/main/scala/g0001_0100/s0075_sort_colors/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 450 | 84.21 -| 0238 |[Product of Array Except Self](src/main/scala/g0201_0300/s0238_product_of_array_except_self/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Prefix_Sum, Big_O_Time_O(n^2)_Space_O(n) | 634 | 79.44 -| 0041 |[First Missing Positive](src/main/scala/g0001_0100/s0041_first_missing_positive/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Big_O_Time_O(n)_Space_O(n) | 912 | 84.21 -| 0239 |[Sliding Window Maximum](src/main/scala/g0201_0300/s0239_sliding_window_maximum/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, Array, Heap_Priority_Queue, Sliding_Window, Queue, Monotonic_Queue, Big_O_Time_O(n\*k)_Space_O(n+k) | 1149 | 86.67 +| 0005 |[Longest Palindromic Substring](src/main/scala/g0001_0100/s0005_longest_palindromic_substring/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) | 502 | 87.65 -#### Udemy Two Pointers +#### Day 15 Dynamic Programming | | | | | | |-|-|-|-|-|- -| 0042 |[Trapping Rain Water](src/main/scala/g0001_0100/s0042_trapping_rain_water/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Two_Pointers, Stack, Monotonic_Stack, Big_O_Time_O(n)_Space_O(1) | 521 | 87.88 -| 0015 |[3Sum](src/main/scala/g0001_0100/s0015_3sum/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Two_Pointers, Big_O_Time_O(n\*log(n))_Space_O(n^2) | 721 | 95.24 +| 0139 |[Word Break](src/main/scala/g0101_0200/s0139_word_break/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Dynamic_Programming, Trie, Memoization, Big_O_Time_O(M+max\*N)_Space_O(M+N+max) | 482 | 66.67 -#### Udemy Famous Algorithm +#### Day 16 Dynamic Programming | | | | | | |-|-|-|-|-|- -| 0053 |[Maximum Subarray](src/main/scala/g0001_0100/s0053_maximum_subarray/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Divide_and_Conquer, Big_O_Time_O(n)_Space_O(1) | 766 | 84.95 -| 0169 |[Majority Element](src/main/scala/g0101_0200/s0169_majority_element/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Sorting, Counting, Divide_and_Conquer, Big_O_Time_O(n)_Space_O(1) | 538 | 92.57 +| 0300 |[Longest Increasing Subsequence](src/main/scala/g0201_0300/s0300_longest_increasing_subsequence/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Binary_Search, Big_O_Time_O(n\*log_n)_Space_O(n) | 522 | 88.89 -#### Udemy Sorting Algorithms +#### Day 17 Dynamic Programming | | | | | | |-|-|-|-|-|- +| 1143 |[Longest Common Subsequence](src/main/scala/g1101_1200/s1143_longest_common_subsequence/Solution.scala)| Medium | Top_100_Liked_Questions, String, Dynamic_Programming, Big_O_Time_O(n\*m)_Space_O(n\*m) | 507 | 100.00 -#### Udemy 2D Arrays/Matrix +#### Day 18 Dynamic Programming | | | | | | |-|-|-|-|-|- -| 0074 |[Search a 2D Matrix](src/main/scala/g0001_0100/s0074_search_a_2d_matrix/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Matrix, Big_O_Time_O(endRow+endCol)_Space_O(1) | 478 | 83.33 -| 0048 |[Rotate Image](src/main/scala/g0001_0100/s0048_rotate_image/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Math, Matrix, Big_O_Time_O(n^2)_Space_O(1) | 472 | 66.67 -| 0073 |[Set Matrix Zeroes](src/main/scala/g0001_0100/s0073_set_matrix_zeroes/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Matrix, Big_O_Time_O(m\*n)_Space_O(1) | 557 | 90.91 -| 0056 |[Merge Intervals](src/main/scala/g0001_0100/s0056_merge_intervals/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Big_O_Time_O(n_log_n)_Space_O(n) | 583 | 90.91 +| 0072 |[Edit Distance](src/main/scala/g0001_0100/s0072_edit_distance/Solution.scala)| Hard | Top_100_Liked_Questions, String, Dynamic_Programming, Big_O_Time_O(n^2)_Space_O(n2) | 487 | 100.00 +| 0322 |[Coin Change](src/main/scala/g0301_0400/s0322_coin_change/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Breadth_First_Search, Big_O_Time_O(m\*n)_Space_O(amount) | 533 | 84.21 -#### Udemy Linked List +#### Day 19 Bit Manipulation | | | | | | |-|-|-|-|-|- -| 0114 |[Flatten Binary Tree to Linked List](src/main/scala/g0101_0200/s0114_flatten_binary_tree_to_linked_list/Solution.scala)| Medium | Top_100_Liked_Questions, Depth_First_Search, Tree, Binary_Tree, Stack, Linked_List, Big_O_Time_O(N)_Space_O(N) | 491 | 54.17 -| 0024 |[Swap Nodes in Pairs](src/main/scala/g0001_0100/s0024_swap_nodes_in_pairs/Solution.scala)| Medium | Top_100_Liked_Questions, Linked_List, Recursion, Big_O_Time_O(n)_Space_O(1) | 441 | 95.65 -| 0142 |[Linked List Cycle II](src/main/scala/g0101_0200/s0142_linked_list_cycle_ii/Solution.scala)| Medium | Top_100_Liked_Questions, Hash_Table, Two_Pointers, Linked_List, Big_O_Time_O(N)_Space_O(1) | 501 | 61.54 -| 0141 |[Linked List Cycle](src/main/scala/g0101_0200/s0141_linked_list_cycle/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Hash_Table, Two_Pointers, Linked_List, Big_O_Time_O(N)_Space_O(1) | 503 | 84.25 -| 0206 |[Reverse Linked List](src/main/scala/g0201_0300/s0206_reverse_linked_list/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(N)_Space_O(1) | 474 | 87.50 -| 0021 |[Merge Two Sorted Lists](src/main/scala/g0001_0100/s0021_merge_two_sorted_lists/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(m+n)_Space_O(m+n) | 480 | 89.72 -| 0160 |[Intersection of Two Linked Lists](src/main/scala/g0101_0200/s0160_intersection_of_two_linked_lists/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Hash_Table, Two_Pointers, Linked_List, Big_O_Time_O(M+N)_Space_O(1) | 564 | 96.43 -| 0234 |[Palindrome Linked List](src/main/scala/g0201_0300/s0234_palindrome_linked_list/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Two_Pointers, Stack, Linked_List, Recursion, Big_O_Time_O(n)_Space_O(1) | 811 | 85.71 -| 0138 |[Copy List with Random Pointer](src/main/scala/g0101_0200/s0138_copy_list_with_random_pointer/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Hash_Table, Linked_List, Big_O_Time_O(N)_Space_O(N) | 477 | 96.00 -| 0025 |[Reverse Nodes in k-Group](src/main/scala/g0001_0100/s0025_reverse_nodes_in_k_group/Solution.scala)| Hard | Top_100_Liked_Questions, Linked_List, Recursion, Big_O_Time_O(n)_Space_O(k) | 520 | 80.00 -| 0146 |[LRU Cache](src/main/scala/g0101_0200/s0146_lru_cache/LRUCache.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Hash_Table, Design, Linked_List, Doubly_Linked_List, Big_O_Time_O(1)_Space_O(capacity) | 1590 | 85.19 -#### Udemy Tree Stack Queue +#### Day 20 Others | | | | | | |-|-|-|-|-|- -| 0094 |[Binary Tree Inorder Traversal](src/main/scala/g0001_0100/s0094_binary_tree_inorder_traversal/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Stack, Big_O_Time_O(n)_Space_O(n) | 456 | 68.42 -| 0102 |[Binary Tree Level Order Traversal](src/main/scala/g0101_0200/s0102_binary_tree_level_order_traversal/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(N) | 522 | 83.33 -| 0543 |[Diameter of Binary Tree](src/main/scala/g0501_0600/s0543_diameter_of_binary_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Depth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) | 479 | 90.48 -| 0226 |[Invert Binary Tree](src/main/scala/g0201_0300/s0226_invert_binary_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) | 421 | 97.33 -| 0104 |[Maximum Depth of Binary Tree](src/main/scala/g0101_0200/s0104_maximum_depth_of_binary_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(H) | 472 | 90.83 -| 0124 |[Binary Tree Maximum Path Sum](src/main/scala/g0101_0200/s0124_binary_tree_maximum_path_sum/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Depth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(N) | 523 | 89.47 -| 0098 |[Validate Binary Search Tree](src/main/scala/g0001_0100/s0098_validate_binary_search_tree/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Binary_Search_Tree, Big_O_Time_O(N)_Space_O(log(N)) | 507 | 70.21 -| 0236 |[Lowest Common Ancestor of a Binary Tree](src/main/scala/g0201_0300/s0236_lowest_common_ancestor_of_a_binary_tree/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) | 539 | 70.73 -#### Udemy Trie and Heap +#### Day 21 Others | | | | | | |-|-|-|-|-|- -| 0208 |[Implement Trie (Prefix Tree)](src/main/scala/g0201_0300/s0208_implement_trie_prefix_tree/Trie.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Design, Trie, Big_O_Time_O(word.length())_or_O(prefix.length())_Space_O(N) | 610 | 100.00 -#### Udemy Graph +### Binary Search I + +#### Day 1 | | | | | | |-|-|-|-|-|- -| 0200 |[Number of Islands](src/main/scala/g0101_0200/s0200_number_of_islands/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Depth_First_Search, Breadth_First_Search, Matrix, Union_Find, Big_O_Time_O(M\*N)_Space_O(M\*N) | 537 | 93.18 -#### Udemy Dynamic Programming +#### Day 2 | | | | | | |-|-|-|-|-|- -| 0139 |[Word Break](src/main/scala/g0101_0200/s0139_word_break/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Dynamic_Programming, Trie, Memoization, Big_O_Time_O(M+max\*N)_Space_O(M+N+max) | 482 | 66.67 -| 0152 |[Maximum Product Subarray](src/main/scala/g0101_0200/s0152_maximum_product_subarray/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(N)_Space_O(1) | 472 | 100.00 -| 0198 |[House Robber](src/main/scala/g0101_0200/s0198_house_robber/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) | 426 | 98.04 -| 0070 |[Climbing Stairs](src/main/scala/g0001_0100/s0070_climbing_stairs/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Memoization, Big_O_Time_O(n)_Space_O(n) | 369 | 98.32 -| 0064 |[Minimum Path Sum](src/main/scala/g0001_0100/s0064_minimum_path_sum/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Matrix, Big_O_Time_O(m\*n)_Space_O(m\*n) | 521 | 92.86 -| 0300 |[Longest Increasing Subsequence](src/main/scala/g0201_0300/s0300_longest_increasing_subsequence/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Binary_Search, Big_O_Time_O(n\*log_n)_Space_O(n) | 522 | 88.89 -| 1143 |[Longest Common Subsequence](src/main/scala/g1101_1200/s1143_longest_common_subsequence/Solution.scala)| Medium | Top_100_Liked_Questions, String, Dynamic_Programming, Big_O_Time_O(n\*m)_Space_O(n\*m) | 507 | 100.00 -| 0072 |[Edit Distance](src/main/scala/g0001_0100/s0072_edit_distance/Solution.scala)| Hard | Top_100_Liked_Questions, String, Dynamic_Programming, Big_O_Time_O(n^2)_Space_O(n2) | 487 | 100.00 -| 0010 |[Regular Expression Matching](src/main/scala/g0001_0100/s0010_regular_expression_matching/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Recursion, Big_O_Time_O(m\*n)_Space_O(m\*n) | 459 | 75.00 +| 0035 |[Search Insert Position](src/main/scala/g0001_0100/s0035_search_insert_position/Solution.scala)| Easy | Top_100_Liked_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 466 | 87.04 -#### Udemy Backtracking/Recursion +#### Day 3 | | | | | | |-|-|-|-|-|- -| 0022 |[Generate Parentheses](src/main/scala/g0001_0100/s0022_generate_parentheses/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Backtracking, Big_O_Time_O(2^n)_Space_O(n) | 380 | 100.00 -| 0039 |[Combination Sum](src/main/scala/g0001_0100/s0039_combination_sum/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Backtracking, Big_O_Time_O(2^n)_Space_O(n+2^n) | 488 | 97.50 -| 0078 |[Subsets](src/main/scala/g0001_0100/s0078_subsets/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Bit_Manipulation, Backtracking, Big_O_Time_O(2^n)_Space_O(n\*2^n) | 452 | 87.50 -| 0017 |[Letter Combinations of a Phone Number](src/main/scala/g0001_0100/s0017_letter_combinations_of_a_phone_number/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Backtracking, Big_O_Time_O(4^n)_Space_O(n) | 459 | 58.54 -| 0046 |[Permutations](src/main/scala/g0001_0100/s0046_permutations/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Backtracking, Big_O_Time_O(n\*n!)_Space_O(n+n!) | 470 | 92.31 -#### Udemy Bit Manipulation +#### Day 4 | | | | | | |-|-|-|-|-|- -| 0338 |[Counting Bits](src/main/scala/g0301_0400/s0338_counting_bits/Solution.scala)| Easy | Top_100_Liked_Questions, Dynamic_Programming, Bit_Manipulation, Big_O_Time_O(num)_Space_O(num) | 447 | 92.68 -#### Udemy Design +#### Day 5 | | | | | | |-|-|-|-|-|- -| 0155 |[Min Stack](src/main/scala/g0101_0200/s0155_min_stack/MinStack.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Stack, Design, Big_O_Time_O(1)_Space_O(N) | 566 | 90.91 - -### Data Structure I +| 0034 |[Find First and Last Position of Element in Sorted Array](src/main/scala/g0001_0100/s0034_find_first_and_last_position_of_element_in_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 478 | 97.85 -#### Day 1 Array +#### Day 6 | | | | | | |-|-|-|-|-|- -| 0053 |[Maximum Subarray](src/main/scala/g0001_0100/s0053_maximum_subarray/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Divide_and_Conquer, Big_O_Time_O(n)_Space_O(1) | 766 | 84.95 -#### Day 2 Array +#### Day 7 | | | | | | |-|-|-|-|-|- -| 0001 |[Two Sum](src/main/scala/g0001_0100/s0001_two_sum/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Big_O_Time_O(n)_Space_O(n) | 680 | 76.33 -#### Day 3 Array +#### Day 8 | | | | | | |-|-|-|-|-|- -| 0121 |[Best Time to Buy and Sell Stock](src/main/scala/g0101_0200/s0121_best_time_to_buy_and_sell_stock/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(N)_Space_O(1) | 762 | 98.45 +| 0074 |[Search a 2D Matrix](src/main/scala/g0001_0100/s0074_search_a_2d_matrix/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Matrix, Big_O_Time_O(endRow+endCol)_Space_O(1) | 478 | 83.33 -#### Day 4 Array +#### Day 9 | | | | | | |-|-|-|-|-|- -#### Day 5 Array +#### Day 10 | | | | | | |-|-|-|-|-|- -| 0074 |[Search a 2D Matrix](src/main/scala/g0001_0100/s0074_search_a_2d_matrix/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Matrix, Big_O_Time_O(endRow+endCol)_Space_O(1) | 478 | 83.33 -#### Day 6 String +#### Day 11 | | | | | | |-|-|-|-|-|- +| 0033 |[Search in Rotated Sorted Array](src/main/scala/g0001_0100/s0033_search_in_rotated_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 453 | 91.53 -#### Day 7 Linked List +#### Day 12 | | | | | | |-|-|-|-|-|- -| 0141 |[Linked List Cycle](src/main/scala/g0101_0200/s0141_linked_list_cycle/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Hash_Table, Two_Pointers, Linked_List, Big_O_Time_O(N)_Space_O(1) | 503 | 84.25 -| 0021 |[Merge Two Sorted Lists](src/main/scala/g0001_0100/s0021_merge_two_sorted_lists/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(m+n)_Space_O(m+n) | 480 | 89.72 +| 0153 |[Find Minimum in Rotated Sorted Array](src/main/scala/g0101_0200/s0153_find_minimum_in_rotated_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Big_O_Time_O(log_N)_Space_O(log_N) | 457 | 78.79 -#### Day 8 Linked List +### Binary Search II + +#### Day 1 | | | | | | |-|-|-|-|-|- -| 0206 |[Reverse Linked List](src/main/scala/g0201_0300/s0206_reverse_linked_list/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(N)_Space_O(1) | 474 | 87.50 -#### Day 9 Stack Queue +#### Day 2 | | | | | | |-|-|-|-|-|- -| 0020 |[Valid Parentheses](src/main/scala/g0001_0100/s0020_valid_parentheses/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, String, Stack, Big_O_Time_O(n)_Space_O(n) | 587 | 69.29 -#### Day 10 Tree +#### Day 3 | | | | | | |-|-|-|-|-|- -| 0094 |[Binary Tree Inorder Traversal](src/main/scala/g0001_0100/s0094_binary_tree_inorder_traversal/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Stack, Big_O_Time_O(n)_Space_O(n) | 456 | 68.42 +| 0300 |[Longest Increasing Subsequence](src/main/scala/g0201_0300/s0300_longest_increasing_subsequence/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Binary_Search, Big_O_Time_O(n\*log_n)_Space_O(n) | 522 | 88.89 -#### Day 11 Tree +#### Day 4 | | | | | | |-|-|-|-|-|- -| 0102 |[Binary Tree Level Order Traversal](src/main/scala/g0101_0200/s0102_binary_tree_level_order_traversal/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(N) | 522 | 83.33 -| 0104 |[Maximum Depth of Binary Tree](src/main/scala/g0101_0200/s0104_maximum_depth_of_binary_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(H) | 472 | 90.83 -| 0101 |[Symmetric Tree](src/main/scala/g0101_0200/s0101_symmetric_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(log(N)) | 454 | 90.38 -#### Day 12 Tree +#### Day 5 | | | | | | |-|-|-|-|-|- -| 0226 |[Invert Binary Tree](src/main/scala/g0201_0300/s0226_invert_binary_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) | 421 | 97.33 +| 0287 |[Find the Duplicate Number](src/main/scala/g0201_0300/s0287_find_the_duplicate_number/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Two_Pointers, Bit_Manipulation, Big_O_Time_O(n)_Space_O(n) | 866 | 83.33 -#### Day 13 Tree +#### Day 6 | | | | | | |-|-|-|-|-|- -#### Day 14 Tree +#### Day 7 | | | | | | |-|-|-|-|-|- -| 0098 |[Validate Binary Search Tree](src/main/scala/g0001_0100/s0098_validate_binary_search_tree/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Binary_Search_Tree, Big_O_Time_O(N)_Space_O(log(N)) | 507 | 70.21 -### Data Structure II - -#### Day 1 Array +#### Day 8 | | | | | | |-|-|-|-|-|- -| 0136 |[Single Number](src/main/scala/g0101_0200/s0136_single_number/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Bit_Manipulation, Big_O_Time_O(N)_Space_O(1) | 530 | 78.57 -| 0169 |[Majority Element](src/main/scala/g0101_0200/s0169_majority_element/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Sorting, Counting, Divide_and_Conquer, Big_O_Time_O(n)_Space_O(1) | 538 | 92.57 -| 0015 |[3Sum](src/main/scala/g0001_0100/s0015_3sum/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Two_Pointers, Big_O_Time_O(n\*log(n))_Space_O(n^2) | 721 | 95.24 +| 0240 |[Search a 2D Matrix II](src/main/scala/g0201_0300/s0240_search_a_2d_matrix_ii/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Matrix, Divide_and_Conquer, Big_O_Time_O(n+m)_Space_O(1) | 579 | 66.67 -#### Day 2 Array +#### Day 9 | | | | | | |-|-|-|-|-|- -| 0075 |[Sort Colors](src/main/scala/g0001_0100/s0075_sort_colors/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 450 | 84.21 -| 0056 |[Merge Intervals](src/main/scala/g0001_0100/s0056_merge_intervals/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Big_O_Time_O(n_log_n)_Space_O(n) | 583 | 90.91 -#### Day 3 Array +#### Day 10 | | | | | | |-|-|-|-|-|- -| 0048 |[Rotate Image](src/main/scala/g0001_0100/s0048_rotate_image/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Math, Matrix, Big_O_Time_O(n^2)_Space_O(1) | 472 | 66.67 -#### Day 4 Array +#### Day 11 | | | | | | |-|-|-|-|-|- -| 0240 |[Search a 2D Matrix II](src/main/scala/g0201_0300/s0240_search_a_2d_matrix_ii/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Matrix, Divide_and_Conquer, Big_O_Time_O(n+m)_Space_O(1) | 579 | 66.67 -#### Day 5 Array +#### Day 12 | | | | | | |-|-|-|-|-|- -| 0238 |[Product of Array Except Self](src/main/scala/g0201_0300/s0238_product_of_array_except_self/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Prefix_Sum, Big_O_Time_O(n^2)_Space_O(n) | 634 | 79.44 -| 0560 |[Subarray Sum Equals K](src/main/scala/g0501_0600/s0560_subarray_sum_equals_k/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Hash_Table, Prefix_Sum, Big_O_Time_O(n)_Space_O(n) | 627 | 92.31 -#### Day 6 String +#### Day 13 | | | | | | |-|-|-|-|-|- -#### Day 7 String +#### Day 14 | | | | | | |-|-|-|-|-|- -| 0763 |[Partition Labels](src/main/scala/g0701_0800/s0763_partition_labels/Solution.scala)| Medium | Top_100_Liked_Questions, String, Hash_Table, Greedy, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 442 | 100.00 -#### Day 8 String +#### Day 15 | | | | | | |-|-|-|-|-|- -| 0049 |[Group Anagrams](src/main/scala/g0001_0100/s0049_group_anagrams/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, String, Hash_Table, Sorting, Big_O_Time_O(n\*k_log_k)_Space_O(n) | 618 | 91.67 -#### Day 9 String +#### Day 16 | | | | | | |-|-|-|-|-|- -| 0005 |[Longest Palindromic Substring](src/main/scala/g0001_0100/s0005_longest_palindromic_substring/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) | 502 | 87.65 -#### Day 10 Linked List +#### Day 17 | | | | | | |-|-|-|-|-|- -| 0002 |[Add Two Numbers](src/main/scala/g0001_0100/s0002_add_two_numbers/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Math, Linked_List, Recursion, Big_O_Time_O(max(N,M))_Space_O(max(N,M)) | 571 | 75.12 -| 0142 |[Linked List Cycle II](src/main/scala/g0101_0200/s0142_linked_list_cycle_ii/Solution.scala)| Medium | Top_100_Liked_Questions, Hash_Table, Two_Pointers, Linked_List, Big_O_Time_O(N)_Space_O(1) | 501 | 61.54 -#### Day 11 Linked List +#### Day 18 | | | | | | |-|-|-|-|-|- -| 0160 |[Intersection of Two Linked Lists](src/main/scala/g0101_0200/s0160_intersection_of_two_linked_lists/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Hash_Table, Two_Pointers, Linked_List, Big_O_Time_O(M+N)_Space_O(1) | 564 | 96.43 -#### Day 12 Linked List +#### Day 19 | | | | | | |-|-|-|-|-|- -| 0024 |[Swap Nodes in Pairs](src/main/scala/g0001_0100/s0024_swap_nodes_in_pairs/Solution.scala)| Medium | Top_100_Liked_Questions, Linked_List, Recursion, Big_O_Time_O(n)_Space_O(1) | 441 | 95.65 -#### Day 13 Linked List +#### Day 20 | | | | | | |-|-|-|-|-|- -| 0025 |[Reverse Nodes in k-Group](src/main/scala/g0001_0100/s0025_reverse_nodes_in_k_group/Solution.scala)| Hard | Top_100_Liked_Questions, Linked_List, Recursion, Big_O_Time_O(n)_Space_O(k) | 520 | 80.00 -#### Day 14 Stack Queue +### Dynamic Programming I + +#### Day 1 | | | | | | |-|-|-|-|-|- -| 0155 |[Min Stack](src/main/scala/g0101_0200/s0155_min_stack/MinStack.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Stack, Design, Big_O_Time_O(1)_Space_O(N) | 566 | 90.91 -#### Day 15 Tree +#### Day 2 | | | | | | |-|-|-|-|-|- -| 0105 |[Construct Binary Tree from Preorder and Inorder Traversal](src/main/scala/g0101_0200/s0105_construct_binary_tree_from_preorder_and_inorder_traversal/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Tree, Binary_Tree, Divide_and_Conquer, Big_O_Time_O(N)_Space_O(N) | 564 | 91.67 +| 0070 |[Climbing Stairs](src/main/scala/g0001_0100/s0070_climbing_stairs/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Memoization, Big_O_Time_O(n)_Space_O(n) | 369 | 98.32 -#### Day 16 Tree +#### Day 3 | | | | | | |-|-|-|-|-|- +| 0198 |[House Robber](src/main/scala/g0101_0200/s0198_house_robber/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) | 426 | 98.04 -#### Day 17 Tree +#### Day 4 | | | | | | |-|-|-|-|-|- -| 0230 |[Kth Smallest Element in a BST](src/main/scala/g0201_0300/s0230_kth_smallest_element_in_a_bst/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Binary_Search_Tree, Big_O_Time_O(n)_Space_O(n) | 503 | 91.30 +| 0055 |[Jump Game](src/main/scala/g0001_0100/s0055_jump_game/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) | 769 | 79.03 +| 0045 |[Jump Game II](src/main/scala/g0001_0100/s0045_jump_game_ii/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) | 653 | 83.87 -#### Day 18 Tree +#### Day 5 | | | | | | |-|-|-|-|-|- -| 0236 |[Lowest Common Ancestor of a Binary Tree](src/main/scala/g0201_0300/s0236_lowest_common_ancestor_of_a_binary_tree/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) | 539 | 70.73 +| 0053 |[Maximum Subarray](src/main/scala/g0001_0100/s0053_maximum_subarray/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Divide_and_Conquer, Big_O_Time_O(n)_Space_O(1) | 766 | 84.95 -#### Day 19 Graph +#### Day 6 | | | | | | |-|-|-|-|-|- +| 0152 |[Maximum Product Subarray](src/main/scala/g0101_0200/s0152_maximum_product_subarray/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(N)_Space_O(1) | 472 | 100.00 -#### Day 20 Heap Priority Queue +#### Day 7 | | | | | | |-|-|-|-|-|- -| 0215 |[Kth Largest Element in an Array](src/main/scala/g0201_0300/s0215_kth_largest_element_in_an_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Heap_Priority_Queue, Divide_and_Conquer, Quickselect, Big_O_Time_O(n\*log(n))_Space_O(log(n)) | 799 | 95.45 -| 0347 |[Top K Frequent Elements](src/main/scala/g0301_0400/s0347_top_k_frequent_elements/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Sorting, Heap_Priority_Queue, Counting, Divide_and_Conquer, Quickselect, Bucket_Sort, Big_O_Time_O(n\*log(n))_Space_O(k) | 589 | 93.24 +| 0121 |[Best Time to Buy and Sell Stock](src/main/scala/g0101_0200/s0121_best_time_to_buy_and_sell_stock/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(N)_Space_O(1) | 762 | 98.45 -#### Day 21 Heap Priority Queue +#### Day 8 | | | | | | |-|-|-|-|-|- -### Algorithm I - -#### Day 1 Binary Search +#### Day 9 | | | | | | |-|-|-|-|-|- -| 0035 |[Search Insert Position](src/main/scala/g0001_0100/s0035_search_insert_position/Solution.scala)| Easy | Top_100_Liked_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 466 | 87.04 +| 0139 |[Word Break](src/main/scala/g0101_0200/s0139_word_break/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Dynamic_Programming, Trie, Memoization, Big_O_Time_O(M+max\*N)_Space_O(M+N+max) | 482 | 66.67 +| 0042 |[Trapping Rain Water](src/main/scala/g0001_0100/s0042_trapping_rain_water/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Two_Pointers, Stack, Monotonic_Stack, Big_O_Time_O(n)_Space_O(1) | 521 | 87.88 -#### Day 2 Two Pointers +#### Day 10 | | | | | | |-|-|-|-|-|- -| 0189 |[Rotate Array](src/main/scala/g0101_0200/s0189_rotate_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Math, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 600 | 96.59 -#### Day 3 Two Pointers +#### Day 11 | | | | | | |-|-|-|-|-|- -| 0283 |[Move Zeroes](src/main/scala/g0201_0300/s0283_move_zeroes/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 572 | 86.11 +| 0096 |[Unique Binary Search Trees](src/main/scala/g0001_0100/s0096_unique_binary_search_trees/Solution.scala)| Medium | Top_100_Liked_Questions, Dynamic_Programming, Math, Tree, Binary_Tree, Binary_Search_Tree, Big_O_Time_O(n)_Space_O(1) | 403 | 66.67 -#### Day 4 Two Pointers +#### Day 12 | | | | | | |-|-|-|-|-|- -#### Day 5 Two Pointers +#### Day 13 | | | | | | |-|-|-|-|-|- -| 0019 |[Remove Nth Node From End of List](src/main/scala/g0001_0100/s0019_remove_nth_node_from_end_of_list/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Two_Pointers, Linked_List, Big_O_Time_O(L)_Space_O(L) | 492 | 52.63 -#### Day 6 Sliding Window +#### Day 14 | | | | | | |-|-|-|-|-|- -| 0003 |[Longest Substring Without Repeating Characters](src/main/scala/g0001_0100/s0003_longest_substring_without_repeating_characters/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(n)_Space_O(1) | 482 | 96.91 -#### Day 7 Breadth First Search Depth First Search +#### Day 15 | | | | | | |-|-|-|-|-|- +| 0062 |[Unique Paths](src/main/scala/g0001_0100/s0062_unique_paths/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Combinatorics, Big_O_Time_O(m\*n)_Space_O(m\*n) | 405 | 70.18 -#### Day 8 Breadth First Search Depth First Search +#### Day 16 | | | | | | |-|-|-|-|-|- +| 0064 |[Minimum Path Sum](src/main/scala/g0001_0100/s0064_minimum_path_sum/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Matrix, Big_O_Time_O(m\*n)_Space_O(m\*n) | 521 | 92.86 +| 0221 |[Maximal Square](src/main/scala/g0201_0300/s0221_maximal_square/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Matrix, Big_O_Time_O(m\*n)_Space_O(m\*n) | 626 | 100.00 -#### Day 9 Breadth First Search Depth First Search +#### Day 17 | | | | | | |-|-|-|-|-|- +| 0005 |[Longest Palindromic Substring](src/main/scala/g0001_0100/s0005_longest_palindromic_substring/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) | 502 | 87.65 -#### Day 10 Recursion Backtracking +#### Day 18 | | | | | | |-|-|-|-|-|- -| 0021 |[Merge Two Sorted Lists](src/main/scala/g0001_0100/s0021_merge_two_sorted_lists/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(m+n)_Space_O(m+n) | 480 | 89.72 -| 0206 |[Reverse Linked List](src/main/scala/g0201_0300/s0206_reverse_linked_list/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(N)_Space_O(1) | 474 | 87.50 +| 0300 |[Longest Increasing Subsequence](src/main/scala/g0201_0300/s0300_longest_increasing_subsequence/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Binary_Search, Big_O_Time_O(n\*log_n)_Space_O(n) | 522 | 88.89 -#### Day 11 Recursion Backtracking +#### Day 19 | | | | | | |-|-|-|-|-|- -| 0046 |[Permutations](src/main/scala/g0001_0100/s0046_permutations/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Backtracking, Big_O_Time_O(n\*n!)_Space_O(n+n!) | 470 | 92.31 +| 1143 |[Longest Common Subsequence](src/main/scala/g1101_1200/s1143_longest_common_subsequence/Solution.scala)| Medium | Top_100_Liked_Questions, String, Dynamic_Programming, Big_O_Time_O(n\*m)_Space_O(n\*m) | 507 | 100.00 +| 0072 |[Edit Distance](src/main/scala/g0001_0100/s0072_edit_distance/Solution.scala)| Hard | Top_100_Liked_Questions, String, Dynamic_Programming, Big_O_Time_O(n^2)_Space_O(n2) | 487 | 100.00 -#### Day 12 Dynamic Programming +#### Day 20 | | | | | | |-|-|-|-|-|- -| 0070 |[Climbing Stairs](src/main/scala/g0001_0100/s0070_climbing_stairs/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Memoization, Big_O_Time_O(n)_Space_O(n) | 369 | 98.32 -| 0198 |[House Robber](src/main/scala/g0101_0200/s0198_house_robber/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) | 426 | 98.04 +| 0322 |[Coin Change](src/main/scala/g0301_0400/s0322_coin_change/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Breadth_First_Search, Big_O_Time_O(m\*n)_Space_O(amount) | 533 | 84.21 -#### Day 13 Bit Manipulation +#### Day 21 | | | | | | |-|-|-|-|-|- -#### Day 14 Bit Manipulation +### Programming Skills I + +#### Day 1 Basic Data Type | | | | | | |-|-|-|-|-|- -| 0136 |[Single Number](src/main/scala/g0101_0200/s0136_single_number/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Bit_Manipulation, Big_O_Time_O(N)_Space_O(1) | 530 | 78.57 - -### Algorithm II -#### Day 1 Binary Search +#### Day 2 Operator | | | | | | |-|-|-|-|-|- -| 0034 |[Find First and Last Position of Element in Sorted Array](src/main/scala/g0001_0100/s0034_find_first_and_last_position_of_element_in_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 478 | 97.85 -| 0033 |[Search in Rotated Sorted Array](src/main/scala/g0001_0100/s0033_search_in_rotated_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 453 | 91.53 -| 0074 |[Search a 2D Matrix](src/main/scala/g0001_0100/s0074_search_a_2d_matrix/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Matrix, Big_O_Time_O(endRow+endCol)_Space_O(1) | 478 | 83.33 -#### Day 2 Binary Search +#### Day 3 Conditional Statements | | | | | | |-|-|-|-|-|- -| 0153 |[Find Minimum in Rotated Sorted Array](src/main/scala/g0101_0200/s0153_find_minimum_in_rotated_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Big_O_Time_O(log_N)_Space_O(log_N) | 457 | 78.79 -#### Day 3 Two Pointers +#### Day 4 Loop | | | | | | |-|-|-|-|-|- -| 0015 |[3Sum](src/main/scala/g0001_0100/s0015_3sum/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Two_Pointers, Big_O_Time_O(n\*log(n))_Space_O(n^2) | 721 | 95.24 -#### Day 4 Two Pointers +#### Day 5 Function | | | | | | |-|-|-|-|-|- -| 0011 |[Container With Most Water](src/main/scala/g0001_0100/s0011_container_with_most_water/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Greedy, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 683 | 99.13 -#### Day 5 Sliding Window +#### Day 6 Array | | | | | | |-|-|-|-|-|- -| 0438 |[Find All Anagrams in a String](src/main/scala/g0401_0500/s0438_find_all_anagrams_in_a_string/Solution.scala)| Medium | Top_100_Liked_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(n+m)_Space_O(1) | 576 | 100.00 +| 0283 |[Move Zeroes](src/main/scala/g0201_0300/s0283_move_zeroes/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 572 | 86.11 -#### Day 6 Breadth First Search Depth First Search +#### Day 7 Array | | | | | | |-|-|-|-|-|- -| 0200 |[Number of Islands](src/main/scala/g0101_0200/s0200_number_of_islands/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Depth_First_Search, Breadth_First_Search, Matrix, Union_Find, Big_O_Time_O(M\*N)_Space_O(M\*N) | 537 | 93.18 -#### Day 7 Breadth First Search Depth First Search +#### Day 8 String | | | | | | |-|-|-|-|-|- -#### Day 8 Breadth First Search Depth First Search +#### Day 9 String | | | | | | |-|-|-|-|-|- -#### Day 9 Recursion Backtracking +#### Day 10 Linked List and Tree | | | | | | |-|-|-|-|-|- -| 0078 |[Subsets](src/main/scala/g0001_0100/s0078_subsets/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Bit_Manipulation, Backtracking, Big_O_Time_O(2^n)_Space_O(n\*2^n) | 452 | 87.50 +| 0104 |[Maximum Depth of Binary Tree](src/main/scala/g0101_0200/s0104_maximum_depth_of_binary_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(H) | 472 | 90.83 -#### Day 10 Recursion Backtracking +#### Day 11 Containers and Libraries | | | | | | |-|-|-|-|-|- -| 0039 |[Combination Sum](src/main/scala/g0001_0100/s0039_combination_sum/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Backtracking, Big_O_Time_O(2^n)_Space_O(n+2^n) | 488 | 97.50 -#### Day 11 Recursion Backtracking +#### Day 12 Class and Object | | | | | | |-|-|-|-|-|- -| 0017 |[Letter Combinations of a Phone Number](src/main/scala/g0001_0100/s0017_letter_combinations_of_a_phone_number/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Backtracking, Big_O_Time_O(4^n)_Space_O(n) | 459 | 58.54 -| 0022 |[Generate Parentheses](src/main/scala/g0001_0100/s0022_generate_parentheses/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Backtracking, Big_O_Time_O(2^n)_Space_O(n) | 380 | 100.00 -| 0079 |[Word Search](src/main/scala/g0001_0100/s0079_word_search/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Matrix, Backtracking, Big_O_Time_O(4^(m\*n))_Space_O(m\*n) | 848 | 74.19 -#### Day 12 Dynamic Programming +### Programming Skills II + +#### Day 1 | | | | | | |-|-|-|-|-|- -| 0055 |[Jump Game](src/main/scala/g0001_0100/s0055_jump_game/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) | 769 | 79.03 -#### Day 13 Dynamic Programming +#### Day 2 | | | | | | |-|-|-|-|-|- -| 0045 |[Jump Game II](src/main/scala/g0001_0100/s0045_jump_game_ii/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) | 653 | 83.87 -| 0062 |[Unique Paths](src/main/scala/g0001_0100/s0062_unique_paths/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Combinatorics, Big_O_Time_O(m\*n)_Space_O(m\*n) | 405 | 70.18 -#### Day 14 Dynamic Programming +#### Day 3 | | | | | | |-|-|-|-|-|- -| 0005 |[Longest Palindromic Substring](src/main/scala/g0001_0100/s0005_longest_palindromic_substring/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) | 502 | 87.65 -#### Day 15 Dynamic Programming +#### Day 4 | | | | | | |-|-|-|-|-|- -| 0139 |[Word Break](src/main/scala/g0101_0200/s0139_word_break/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Dynamic_Programming, Trie, Memoization, Big_O_Time_O(M+max\*N)_Space_O(M+N+max) | 482 | 66.67 -#### Day 16 Dynamic Programming +#### Day 5 | | | | | | |-|-|-|-|-|- -| 0300 |[Longest Increasing Subsequence](src/main/scala/g0201_0300/s0300_longest_increasing_subsequence/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Binary_Search, Big_O_Time_O(n\*log_n)_Space_O(n) | 522 | 88.89 -#### Day 17 Dynamic Programming +#### Day 6 | | | | | | |-|-|-|-|-|- -| 1143 |[Longest Common Subsequence](src/main/scala/g1101_1200/s1143_longest_common_subsequence/Solution.scala)| Medium | Top_100_Liked_Questions, String, Dynamic_Programming, Big_O_Time_O(n\*m)_Space_O(n\*m) | 507 | 100.00 +| 0739 |[Daily Temperatures](src/main/scala/g0701_0800/s0739_daily_temperatures/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Stack, Monotonic_Stack, Big_O_Time_O(n)_Space_O(n) | 931 | 97.30 -#### Day 18 Dynamic Programming +#### Day 7 | | | | | | |-|-|-|-|-|- -| 0072 |[Edit Distance](src/main/scala/g0001_0100/s0072_edit_distance/Solution.scala)| Hard | Top_100_Liked_Questions, String, Dynamic_Programming, Big_O_Time_O(n^2)_Space_O(n2) | 487 | 100.00 -| 0322 |[Coin Change](src/main/scala/g0301_0400/s0322_coin_change/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Breadth_First_Search, Big_O_Time_O(m\*n)_Space_O(amount) | 533 | 84.21 +| 0048 |[Rotate Image](src/main/scala/g0001_0100/s0048_rotate_image/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Math, Matrix, Big_O_Time_O(n^2)_Space_O(1) | 472 | 66.67 -#### Day 19 Bit Manipulation +#### Day 8 | | | | | | |-|-|-|-|-|- -#### Day 20 Others +#### Day 9 | | | | | | |-|-|-|-|-|- -#### Day 21 Others +#### Day 10 | | | | | | |-|-|-|-|-|- -### Binary Search I - -#### Day 1 +#### Day 11 | | | | | | |-|-|-|-|-|- +| 0049 |[Group Anagrams](src/main/scala/g0001_0100/s0049_group_anagrams/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, String, Hash_Table, Sorting, Big_O_Time_O(n\*k_log_k)_Space_O(n) | 618 | 91.67 -#### Day 2 +#### Day 12 | | | | | | |-|-|-|-|-|- -| 0035 |[Search Insert Position](src/main/scala/g0001_0100/s0035_search_insert_position/Solution.scala)| Easy | Top_100_Liked_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 466 | 87.04 +| 0438 |[Find All Anagrams in a String](src/main/scala/g0401_0500/s0438_find_all_anagrams_in_a_string/Solution.scala)| Medium | Top_100_Liked_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(n+m)_Space_O(1) | 576 | 100.00 -#### Day 3 +#### Day 13 | | | | | | |-|-|-|-|-|- -#### Day 4 +#### Day 14 | | | | | | |-|-|-|-|-|- +| 0138 |[Copy List with Random Pointer](src/main/scala/g0101_0200/s0138_copy_list_with_random_pointer/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Hash_Table, Linked_List, Big_O_Time_O(N)_Space_O(N) | 477 | 96.00 -#### Day 5 +#### Day 15 | | | | | | |-|-|-|-|-|- -| 0034 |[Find First and Last Position of Element in Sorted Array](src/main/scala/g0001_0100/s0034_find_first_and_last_position_of_element_in_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 478 | 97.85 +| 0002 |[Add Two Numbers](src/main/scala/g0001_0100/s0002_add_two_numbers/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Math, Linked_List, Recursion, Big_O_Time_O(max(N,M))_Space_O(max(N,M)) | 571 | 75.12 -#### Day 6 +#### Day 16 | | | | | | |-|-|-|-|-|- -#### Day 7 +#### Day 17 | | | | | | |-|-|-|-|-|- -#### Day 8 +#### Day 18 | | | | | | |-|-|-|-|-|- -| 0074 |[Search a 2D Matrix](src/main/scala/g0001_0100/s0074_search_a_2d_matrix/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Matrix, Big_O_Time_O(endRow+endCol)_Space_O(1) | 478 | 83.33 +| 0155 |[Min Stack](src/main/scala/g0101_0200/s0155_min_stack/MinStack.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Stack, Design, Big_O_Time_O(1)_Space_O(N) | 566 | 90.91 -#### Day 9 +#### Day 19 | | | | | | |-|-|-|-|-|- -#### Day 10 +#### Day 20 | | | | | | |-|-|-|-|-|- -#### Day 11 +### Graph Theory I + +#### Day 1 Matrix Related Problems | | | | | | |-|-|-|-|-|- -| 0033 |[Search in Rotated Sorted Array](src/main/scala/g0001_0100/s0033_search_in_rotated_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 453 | 91.53 +| 0200 |[Number of Islands](src/main/scala/g0101_0200/s0200_number_of_islands/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Depth_First_Search, Breadth_First_Search, Matrix, Union_Find, Big_O_Time_O(M\*N)_Space_O(M\*N) | 537 | 93.18 -#### Day 12 +#### Day 2 Matrix Related Problems | | | | | | |-|-|-|-|-|- -| 0153 |[Find Minimum in Rotated Sorted Array](src/main/scala/g0101_0200/s0153_find_minimum_in_rotated_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Big_O_Time_O(log_N)_Space_O(log_N) | 457 | 78.79 - -### Binary Search II -#### Day 1 +#### Day 3 Matrix Related Problems | | | | | | |-|-|-|-|-|- -#### Day 2 +#### Day 4 Matrix Related Problems | | | | | | |-|-|-|-|-|- -#### Day 3 +#### Day 5 Matrix Related Problems | | | | | | |-|-|-|-|-|- -| 0300 |[Longest Increasing Subsequence](src/main/scala/g0201_0300/s0300_longest_increasing_subsequence/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Binary_Search, Big_O_Time_O(n\*log_n)_Space_O(n) | 522 | 88.89 -#### Day 4 +#### Day 6 Matrix Related Problems | | | | | | |-|-|-|-|-|- -#### Day 5 +#### Day 7 Standard Traversal | | | | | | |-|-|-|-|-|- -| 0287 |[Find the Duplicate Number](src/main/scala/g0201_0300/s0287_find_the_duplicate_number/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Two_Pointers, Bit_Manipulation, Big_O_Time_O(n)_Space_O(n) | 866 | 83.33 -#### Day 6 +#### Day 8 Standard Traversal | | | | | | |-|-|-|-|-|- -#### Day 7 +#### Day 9 Standard Traversal | | | | | | |-|-|-|-|-|- -#### Day 8 +#### Day 10 Standard Traversal | | | | | | |-|-|-|-|-|- -| 0240 |[Search a 2D Matrix II](src/main/scala/g0201_0300/s0240_search_a_2d_matrix_ii/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Matrix, Divide_and_Conquer, Big_O_Time_O(n+m)_Space_O(1) | 579 | 66.67 -#### Day 9 +#### Day 11 Breadth First Search | | | | | | |-|-|-|-|-|- -#### Day 10 +#### Day 12 Breadth First Search | | | | | | |-|-|-|-|-|- -#### Day 11 +#### Day 13 Graph Theory | | | | | | |-|-|-|-|-|- -#### Day 12 +#### Day 14 Graph Theory | | | | | | |-|-|-|-|-|- -#### Day 13 +### SQL I + +#### Day 1 Select | | | | | | |-|-|-|-|-|- -#### Day 14 +#### Day 2 Select and Order | | | | | | |-|-|-|-|-|- -#### Day 15 +#### Day 3 String Processing Functions | | | | | | |-|-|-|-|-|- -#### Day 16 +#### Day 4 Union and Select | | | | | | |-|-|-|-|-|- -#### Day 17 +#### Day 5 Union | | | | | | |-|-|-|-|-|- -#### Day 18 +#### Day 6 Union | | | | | | |-|-|-|-|-|- -#### Day 19 +#### Day 7 Function | | | | | | |-|-|-|-|-|- -#### Day 20 +#### Day 8 Function | | | | | | |-|-|-|-|-|- -### Dynamic Programming I - -#### Day 1 +#### Day 9 Control of Flow | | | | | | |-|-|-|-|-|- -#### Day 2 +#### Day 10 Where | | | | | | |-|-|-|-|-|- -| 0070 |[Climbing Stairs](src/main/scala/g0001_0100/s0070_climbing_stairs/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Memoization, Big_O_Time_O(n)_Space_O(n) | 369 | 98.32 -#### Day 3 +### Level 1 + +#### Day 1 Prefix Sum | | | | | | |-|-|-|-|-|- -| 0198 |[House Robber](src/main/scala/g0101_0200/s0198_house_robber/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) | 426 | 98.04 -#### Day 4 +#### Day 2 String | | | | | | |-|-|-|-|-|- -| 0055 |[Jump Game](src/main/scala/g0001_0100/s0055_jump_game/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) | 769 | 79.03 -| 0045 |[Jump Game II](src/main/scala/g0001_0100/s0045_jump_game_ii/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) | 653 | 83.87 -#### Day 5 +#### Day 3 Linked List | | | | | | |-|-|-|-|-|- -| 0053 |[Maximum Subarray](src/main/scala/g0001_0100/s0053_maximum_subarray/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Divide_and_Conquer, Big_O_Time_O(n)_Space_O(1) | 766 | 84.95 +| 0021 |[Merge Two Sorted Lists](src/main/scala/g0001_0100/s0021_merge_two_sorted_lists/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(m+n)_Space_O(m+n) | 480 | 89.72 +| 0206 |[Reverse Linked List](src/main/scala/g0201_0300/s0206_reverse_linked_list/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(N)_Space_O(1) | 474 | 87.50 -#### Day 6 +#### Day 4 Linked List | | | | | | |-|-|-|-|-|- -| 0152 |[Maximum Product Subarray](src/main/scala/g0101_0200/s0152_maximum_product_subarray/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(N)_Space_O(1) | 472 | 100.00 +| 0142 |[Linked List Cycle II](src/main/scala/g0101_0200/s0142_linked_list_cycle_ii/Solution.scala)| Medium | Top_100_Liked_Questions, Hash_Table, Two_Pointers, Linked_List, Big_O_Time_O(N)_Space_O(1) | 501 | 61.54 -#### Day 7 +#### Day 5 Greedy | | | | | | |-|-|-|-|-|- | 0121 |[Best Time to Buy and Sell Stock](src/main/scala/g0101_0200/s0121_best_time_to_buy_and_sell_stock/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(N)_Space_O(1) | 762 | 98.45 -#### Day 8 +#### Day 6 Tree | | | | | | |-|-|-|-|-|- +| 0102 |[Binary Tree Level Order Traversal](src/main/scala/g0101_0200/s0102_binary_tree_level_order_traversal/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(N) | 522 | 83.33 -#### Day 9 +#### Day 7 Binary Search | | | | | | |-|-|-|-|-|- -| 0139 |[Word Break](src/main/scala/g0101_0200/s0139_word_break/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Dynamic_Programming, Trie, Memoization, Big_O_Time_O(M+max\*N)_Space_O(M+N+max) | 482 | 66.67 -| 0042 |[Trapping Rain Water](src/main/scala/g0001_0100/s0042_trapping_rain_water/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Two_Pointers, Stack, Monotonic_Stack, Big_O_Time_O(n)_Space_O(1) | 521 | 87.88 -#### Day 10 +#### Day 8 Binary Search Tree | | | | | | |-|-|-|-|-|- +| 0098 |[Validate Binary Search Tree](src/main/scala/g0001_0100/s0098_validate_binary_search_tree/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Binary_Search_Tree, Big_O_Time_O(N)_Space_O(log(N)) | 507 | 70.21 -#### Day 11 +#### Day 9 Graph/BFS/DFS | | | | | | |-|-|-|-|-|- -| 0096 |[Unique Binary Search Trees](src/main/scala/g0001_0100/s0096_unique_binary_search_trees/Solution.scala)| Medium | Top_100_Liked_Questions, Dynamic_Programming, Math, Tree, Binary_Tree, Binary_Search_Tree, Big_O_Time_O(n)_Space_O(1) | 403 | 66.67 +| 0200 |[Number of Islands](src/main/scala/g0101_0200/s0200_number_of_islands/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Depth_First_Search, Breadth_First_Search, Matrix, Union_Find, Big_O_Time_O(M\*N)_Space_O(M\*N) | 537 | 93.18 -#### Day 12 +#### Day 10 Dynamic Programming | | | | | | |-|-|-|-|-|- +| 0070 |[Climbing Stairs](src/main/scala/g0001_0100/s0070_climbing_stairs/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Memoization, Big_O_Time_O(n)_Space_O(n) | 369 | 98.32 -#### Day 13 +#### Day 11 Dynamic Programming | | | | | | |-|-|-|-|-|- +| 0062 |[Unique Paths](src/main/scala/g0001_0100/s0062_unique_paths/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Combinatorics, Big_O_Time_O(m\*n)_Space_O(m\*n) | 405 | 70.18 -#### Day 14 +#### Day 12 Sliding Window/Two Pointer | | | | | | |-|-|-|-|-|- +| 0438 |[Find All Anagrams in a String](src/main/scala/g0401_0500/s0438_find_all_anagrams_in_a_string/Solution.scala)| Medium | Top_100_Liked_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(n+m)_Space_O(1) | 576 | 100.00 -#### Day 15 +#### Day 13 Hashmap | | | | | | |-|-|-|-|-|- -| 0062 |[Unique Paths](src/main/scala/g0001_0100/s0062_unique_paths/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Combinatorics, Big_O_Time_O(m\*n)_Space_O(m\*n) | 405 | 70.18 +| 0001 |[Two Sum](src/main/scala/g0001_0100/s0001_two_sum/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Big_O_Time_O(n)_Space_O(n) | 680 | 76.33 -#### Day 16 +#### Day 14 Stack | | | | | | |-|-|-|-|-|- -| 0064 |[Minimum Path Sum](src/main/scala/g0001_0100/s0064_minimum_path_sum/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Matrix, Big_O_Time_O(m\*n)_Space_O(m\*n) | 521 | 92.86 -| 0221 |[Maximal Square](src/main/scala/g0201_0300/s0221_maximal_square/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Matrix, Big_O_Time_O(m\*n)_Space_O(m\*n) | 626 | 100.00 +| 0394 |[Decode String](src/main/scala/g0301_0400/s0394_decode_string/Solution.scala)| Medium | Top_100_Liked_Questions, String, Stack, Recursion, Big_O_Time_O(n)_Space_O(n) | 449 | 50.00 -#### Day 17 +#### Day 15 Heap | | | | | | |-|-|-|-|-|- -| 0005 |[Longest Palindromic Substring](src/main/scala/g0001_0100/s0005_longest_palindromic_substring/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) | 502 | 87.65 -#### Day 18 +### Level 2 + +#### Day 1 Implementation/Simulation | | | | | | |-|-|-|-|-|- -| 0300 |[Longest Increasing Subsequence](src/main/scala/g0201_0300/s0300_longest_increasing_subsequence/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Binary_Search, Big_O_Time_O(n\*log_n)_Space_O(n) | 522 | 88.89 -#### Day 19 +#### Day 2 String | | | | | | |-|-|-|-|-|- -| 1143 |[Longest Common Subsequence](src/main/scala/g1101_1200/s1143_longest_common_subsequence/Solution.scala)| Medium | Top_100_Liked_Questions, String, Dynamic_Programming, Big_O_Time_O(n\*m)_Space_O(n\*m) | 507 | 100.00 -| 0072 |[Edit Distance](src/main/scala/g0001_0100/s0072_edit_distance/Solution.scala)| Hard | Top_100_Liked_Questions, String, Dynamic_Programming, Big_O_Time_O(n^2)_Space_O(n2) | 487 | 100.00 -#### Day 20 +#### Day 3 Linked List | | | | | | |-|-|-|-|-|- -| 0322 |[Coin Change](src/main/scala/g0301_0400/s0322_coin_change/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Breadth_First_Search, Big_O_Time_O(m\*n)_Space_O(amount) | 533 | 84.21 +| 0019 |[Remove Nth Node From End of List](src/main/scala/g0001_0100/s0019_remove_nth_node_from_end_of_list/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Two_Pointers, Linked_List, Big_O_Time_O(L)_Space_O(L) | 492 | 52.63 +| 0234 |[Palindrome Linked List](src/main/scala/g0201_0300/s0234_palindrome_linked_list/Solution.scala)| Easy | Top_100_Liked_Questions, Two_Pointers, Stack, Linked_List, Recursion, Big_O_Time_O(n)_Space_O(1) | 912 | 100.00 -#### Day 21 +#### Day 4 Linked List | | | | | | |-|-|-|-|-|- +| 0148 |[Sort List](src/main/scala/g0101_0200/s0148_sort_list/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Sorting, Two_Pointers, Linked_List, Divide_and_Conquer, Merge_Sort, Big_O_Time_O(log(N))_Space_O(log(N)) | 745 | 75.00 -### Programming Skills I - -#### Day 1 Basic Data Type +#### Day 5 Greedy | | | | | | |-|-|-|-|-|- -#### Day 2 Operator +#### Day 6 Tree | | | | | | |-|-|-|-|-|- +| 0226 |[Invert Binary Tree](src/main/scala/g0201_0300/s0226_invert_binary_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) | 421 | 97.33 -#### Day 3 Conditional Statements +#### Day 7 Tree | | | | | | |-|-|-|-|-|- +| 0543 |[Diameter of Binary Tree](src/main/scala/g0501_0600/s0543_diameter_of_binary_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Depth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) | 479 | 90.48 +| 0437 |[Path Sum III](src/main/scala/g0401_0500/s0437_path_sum_iii/Solution.scala)| Medium | Top_100_Liked_Questions, Depth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) | 498 | 90.91 -#### Day 4 Loop +#### Day 8 Binary Search | | | | | | |-|-|-|-|-|- +| 0074 |[Search a 2D Matrix](src/main/scala/g0001_0100/s0074_search_a_2d_matrix/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Matrix, Big_O_Time_O(endRow+endCol)_Space_O(1) | 478 | 83.33 +| 0033 |[Search in Rotated Sorted Array](src/main/scala/g0001_0100/s0033_search_in_rotated_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 453 | 91.53 -#### Day 5 Function +#### Day 9 Binary Search Tree | | | | | | |-|-|-|-|-|- +| 0230 |[Kth Smallest Element in a BST](src/main/scala/g0201_0300/s0230_kth_smallest_element_in_a_bst/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Binary_Search_Tree, Big_O_Time_O(n)_Space_O(n) | 503 | 91.30 -#### Day 6 Array +#### Day 10 Graph/BFS/DFS | | | | | | |-|-|-|-|-|- -| 0283 |[Move Zeroes](src/main/scala/g0201_0300/s0283_move_zeroes/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 572 | 86.11 -#### Day 7 Array +#### Day 11 Graph/BFS/DFS | | | | | | |-|-|-|-|-|- -#### Day 8 String +#### Day 12 Dynamic Programming | | | | | | |-|-|-|-|-|- +| 0198 |[House Robber](src/main/scala/g0101_0200/s0198_house_robber/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) | 426 | 98.04 +| 0322 |[Coin Change](src/main/scala/g0301_0400/s0322_coin_change/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Breadth_First_Search, Big_O_Time_O(m\*n)_Space_O(amount) | 533 | 84.21 -#### Day 9 String +#### Day 13 Dynamic Programming | | | | | | |-|-|-|-|-|- +| 0416 |[Partition Equal Subset Sum](src/main/scala/g0401_0500/s0416_partition_equal_subset_sum/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Big_O_Time_O(n\*sums)_Space_O(n\*sums) | 577 | 100.00 +| 0152 |[Maximum Product Subarray](src/main/scala/g0101_0200/s0152_maximum_product_subarray/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(N)_Space_O(1) | 472 | 100.00 -#### Day 10 Linked List and Tree +#### Day 14 Sliding Window/Two Pointer | | | | | | |-|-|-|-|-|- -| 0104 |[Maximum Depth of Binary Tree](src/main/scala/g0101_0200/s0104_maximum_depth_of_binary_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(H) | 472 | 90.83 +| 0003 |[Longest Substring Without Repeating Characters](src/main/scala/g0001_0100/s0003_longest_substring_without_repeating_characters/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(n)_Space_O(1) | 482 | 96.91 +| 0076 |[Minimum Window Substring](src/main/scala/g0001_0100/s0076_minimum_window_substring/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(s.length())_Space_O(1) | 453 | 100.00 -#### Day 11 Containers and Libraries +#### Day 15 Tree | | | | | | |-|-|-|-|-|- +| 0101 |[Symmetric Tree](src/main/scala/g0101_0200/s0101_symmetric_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(log(N)) | 454 | 90.38 -#### Day 12 Class and Object +#### Day 16 Design | | | | | | |-|-|-|-|-|- +| 0155 |[Min Stack](src/main/scala/g0101_0200/s0155_min_stack/MinStack.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Stack, Design, Big_O_Time_O(1)_Space_O(N) | 566 | 90.91 +| 0208 |[Implement Trie (Prefix Tree)](src/main/scala/g0201_0300/s0208_implement_trie_prefix_tree/Trie.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Design, Trie, Big_O_Time_O(word.length())_or_O(prefix.length())_Space_O(N) | 610 | 100.00 -### Programming Skills II - -#### Day 1 +#### Day 17 Interval | | | | | | |-|-|-|-|-|- +| 0056 |[Merge Intervals](src/main/scala/g0001_0100/s0056_merge_intervals/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Big_O_Time_O(n_log_n)_Space_O(n) | 583 | 90.91 -#### Day 2 +#### Day 18 Stack | | | | | | |-|-|-|-|-|- -#### Day 3 +#### Day 19 Union Find | | | | | | |-|-|-|-|-|- -#### Day 4 +#### Day 20 Brute Force/Backtracking | | | | | | |-|-|-|-|-|- +| 0039 |[Combination Sum](src/main/scala/g0001_0100/s0039_combination_sum/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Backtracking, Big_O_Time_O(2^n)_Space_O(n+2^n) | 488 | 97.50 +| 0046 |[Permutations](src/main/scala/g0001_0100/s0046_permutations/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Backtracking, Big_O_Time_O(n\*n!)_Space_O(n+n!) | 470 | 92.31 -#### Day 5 +### Udemy + +#### Udemy Integers | | | | | | |-|-|-|-|-|- +| 0136 |[Single Number](src/main/scala/g0101_0200/s0136_single_number/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Bit_Manipulation, Big_O_Time_O(N)_Space_O(1) | 530 | 78.57 +| 0007 |[Reverse Integer](src/main/scala/g0001_0100/s0007_reverse_integer/Solution.scala)| Medium | Top_Interview_Questions, Math | 405 | 90.16 +| 0009 |[Palindrome Number](src/main/scala/g0001_0100/s0009_palindrome_number/Solution.scala)| Easy | Math | 453 | 99.49 -#### Day 6 +#### Udemy Strings | | | | | | |-|-|-|-|-|- -| 0739 |[Daily Temperatures](src/main/scala/g0701_0800/s0739_daily_temperatures/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Stack, Monotonic_Stack, Big_O_Time_O(n)_Space_O(n) | 931 | 97.30 +| 0003 |[Longest Substring Without Repeating Characters](src/main/scala/g0001_0100/s0003_longest_substring_without_repeating_characters/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(n)_Space_O(1) | 482 | 96.91 +| 0020 |[Valid Parentheses](src/main/scala/g0001_0100/s0020_valid_parentheses/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, String, Stack, Big_O_Time_O(n)_Space_O(n) | 587 | 69.29 +| 0005 |[Longest Palindromic Substring](src/main/scala/g0001_0100/s0005_longest_palindromic_substring/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) | 502 | 87.65 +| 0394 |[Decode String](src/main/scala/g0301_0400/s0394_decode_string/Solution.scala)| Medium | Top_100_Liked_Questions, String, Stack, Recursion, Big_O_Time_O(n)_Space_O(n) | 449 | 50.00 +| 0049 |[Group Anagrams](src/main/scala/g0001_0100/s0049_group_anagrams/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, String, Hash_Table, Sorting, Big_O_Time_O(n\*k_log_k)_Space_O(n) | 618 | 91.67 -#### Day 7 +#### Udemy Binary Search | | | | | | |-|-|-|-|-|- +| 0033 |[Search in Rotated Sorted Array](src/main/scala/g0001_0100/s0033_search_in_rotated_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 453 | 91.53 +| 0153 |[Find Minimum in Rotated Sorted Array](src/main/scala/g0101_0200/s0153_find_minimum_in_rotated_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Big_O_Time_O(log_N)_Space_O(log_N) | 457 | 78.79 + +#### Udemy Arrays + +| | | | | | +|-|-|-|-|-|- +| 0121 |[Best Time to Buy and Sell Stock](src/main/scala/g0101_0200/s0121_best_time_to_buy_and_sell_stock/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(N)_Space_O(1) | 762 | 98.45 +| 0283 |[Move Zeroes](src/main/scala/g0201_0300/s0283_move_zeroes/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 572 | 86.11 +| 0001 |[Two Sum](src/main/scala/g0001_0100/s0001_two_sum/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Big_O_Time_O(n)_Space_O(n) | 680 | 76.33 +| 0189 |[Rotate Array](src/main/scala/g0101_0200/s0189_rotate_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Math, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 600 | 96.59 +| 0055 |[Jump Game](src/main/scala/g0001_0100/s0055_jump_game/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) | 769 | 79.03 +| 0075 |[Sort Colors](src/main/scala/g0001_0100/s0075_sort_colors/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 450 | 84.21 +| 0238 |[Product of Array Except Self](src/main/scala/g0201_0300/s0238_product_of_array_except_self/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Prefix_Sum, Big_O_Time_O(n^2)_Space_O(n) | 634 | 79.44 +| 0041 |[First Missing Positive](src/main/scala/g0001_0100/s0041_first_missing_positive/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Big_O_Time_O(n)_Space_O(n) | 912 | 84.21 +| 0239 |[Sliding Window Maximum](src/main/scala/g0201_0300/s0239_sliding_window_maximum/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, Array, Heap_Priority_Queue, Sliding_Window, Queue, Monotonic_Queue, Big_O_Time_O(n\*k)_Space_O(n+k) | 1149 | 86.67 + +#### Udemy Two Pointers + +| | | | | | +|-|-|-|-|-|- +| 0042 |[Trapping Rain Water](src/main/scala/g0001_0100/s0042_trapping_rain_water/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Two_Pointers, Stack, Monotonic_Stack, Big_O_Time_O(n)_Space_O(1) | 521 | 87.88 +| 0015 |[3Sum](src/main/scala/g0001_0100/s0015_3sum/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Two_Pointers, Big_O_Time_O(n\*log(n))_Space_O(n^2) | 721 | 95.24 + +#### Udemy Famous Algorithm + +| | | | | | +|-|-|-|-|-|- +| 0053 |[Maximum Subarray](src/main/scala/g0001_0100/s0053_maximum_subarray/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Divide_and_Conquer, Big_O_Time_O(n)_Space_O(1) | 766 | 84.95 +| 0169 |[Majority Element](src/main/scala/g0101_0200/s0169_majority_element/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Sorting, Counting, Divide_and_Conquer, Big_O_Time_O(n)_Space_O(1) | 538 | 92.57 + +#### Udemy Sorting Algorithms + +| | | | | | +|-|-|-|-|-|- + +#### Udemy 2D Arrays/Matrix + +| | | | | | +|-|-|-|-|-|- +| 0074 |[Search a 2D Matrix](src/main/scala/g0001_0100/s0074_search_a_2d_matrix/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Matrix, Big_O_Time_O(endRow+endCol)_Space_O(1) | 478 | 83.33 | 0048 |[Rotate Image](src/main/scala/g0001_0100/s0048_rotate_image/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Math, Matrix, Big_O_Time_O(n^2)_Space_O(1) | 472 | 66.67 +| 0073 |[Set Matrix Zeroes](src/main/scala/g0001_0100/s0073_set_matrix_zeroes/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Matrix, Big_O_Time_O(m\*n)_Space_O(1) | 557 | 90.91 +| 0056 |[Merge Intervals](src/main/scala/g0001_0100/s0056_merge_intervals/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Big_O_Time_O(n_log_n)_Space_O(n) | 583 | 90.91 -#### Day 8 +#### Udemy Linked List | | | | | | |-|-|-|-|-|- +| 0114 |[Flatten Binary Tree to Linked List](src/main/scala/g0101_0200/s0114_flatten_binary_tree_to_linked_list/Solution.scala)| Medium | Top_100_Liked_Questions, Depth_First_Search, Tree, Binary_Tree, Stack, Linked_List, Big_O_Time_O(N)_Space_O(N) | 491 | 54.17 +| 0024 |[Swap Nodes in Pairs](src/main/scala/g0001_0100/s0024_swap_nodes_in_pairs/Solution.scala)| Medium | Top_100_Liked_Questions, Linked_List, Recursion, Big_O_Time_O(n)_Space_O(1) | 441 | 95.65 +| 0142 |[Linked List Cycle II](src/main/scala/g0101_0200/s0142_linked_list_cycle_ii/Solution.scala)| Medium | Top_100_Liked_Questions, Hash_Table, Two_Pointers, Linked_List, Big_O_Time_O(N)_Space_O(1) | 501 | 61.54 +| 0141 |[Linked List Cycle](src/main/scala/g0101_0200/s0141_linked_list_cycle/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Hash_Table, Two_Pointers, Linked_List, Big_O_Time_O(N)_Space_O(1) | 503 | 84.25 +| 0206 |[Reverse Linked List](src/main/scala/g0201_0300/s0206_reverse_linked_list/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(N)_Space_O(1) | 474 | 87.50 +| 0021 |[Merge Two Sorted Lists](src/main/scala/g0001_0100/s0021_merge_two_sorted_lists/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(m+n)_Space_O(m+n) | 480 | 89.72 +| 0160 |[Intersection of Two Linked Lists](src/main/scala/g0101_0200/s0160_intersection_of_two_linked_lists/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Hash_Table, Two_Pointers, Linked_List, Big_O_Time_O(M+N)_Space_O(1) | 564 | 96.43 +| 0234 |[Palindrome Linked List](src/main/scala/g0201_0300/s0234_palindrome_linked_list/Solution.scala)| Easy | Top_100_Liked_Questions, Two_Pointers, Stack, Linked_List, Recursion, Big_O_Time_O(n)_Space_O(1) | 912 | 100.00 +| 0138 |[Copy List with Random Pointer](src/main/scala/g0101_0200/s0138_copy_list_with_random_pointer/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Hash_Table, Linked_List, Big_O_Time_O(N)_Space_O(N) | 477 | 96.00 +| 0025 |[Reverse Nodes in k-Group](src/main/scala/g0001_0100/s0025_reverse_nodes_in_k_group/Solution.scala)| Hard | Top_100_Liked_Questions, Linked_List, Recursion, Big_O_Time_O(n)_Space_O(k) | 520 | 80.00 +| 0146 |[LRU Cache](src/main/scala/g0101_0200/s0146_lru_cache/LRUCache.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Hash_Table, Design, Linked_List, Doubly_Linked_List, Big_O_Time_O(1)_Space_O(capacity) | 1590 | 85.19 -#### Day 9 +#### Udemy Tree Stack Queue | | | | | | |-|-|-|-|-|- +| 0094 |[Binary Tree Inorder Traversal](src/main/scala/g0001_0100/s0094_binary_tree_inorder_traversal/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Stack, Big_O_Time_O(n)_Space_O(n) | 456 | 68.42 +| 0102 |[Binary Tree Level Order Traversal](src/main/scala/g0101_0200/s0102_binary_tree_level_order_traversal/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(N) | 522 | 83.33 +| 0543 |[Diameter of Binary Tree](src/main/scala/g0501_0600/s0543_diameter_of_binary_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Depth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) | 479 | 90.48 +| 0226 |[Invert Binary Tree](src/main/scala/g0201_0300/s0226_invert_binary_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) | 421 | 97.33 +| 0104 |[Maximum Depth of Binary Tree](src/main/scala/g0101_0200/s0104_maximum_depth_of_binary_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(H) | 472 | 90.83 +| 0124 |[Binary Tree Maximum Path Sum](src/main/scala/g0101_0200/s0124_binary_tree_maximum_path_sum/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Depth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(N) | 523 | 89.47 +| 0098 |[Validate Binary Search Tree](src/main/scala/g0001_0100/s0098_validate_binary_search_tree/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Binary_Search_Tree, Big_O_Time_O(N)_Space_O(log(N)) | 507 | 70.21 +| 0236 |[Lowest Common Ancestor of a Binary Tree](src/main/scala/g0201_0300/s0236_lowest_common_ancestor_of_a_binary_tree/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) | 539 | 70.73 -#### Day 10 +#### Udemy Trie and Heap | | | | | | |-|-|-|-|-|- +| 0208 |[Implement Trie (Prefix Tree)](src/main/scala/g0201_0300/s0208_implement_trie_prefix_tree/Trie.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Design, Trie, Big_O_Time_O(word.length())_or_O(prefix.length())_Space_O(N) | 610 | 100.00 -#### Day 11 +#### Udemy Graph | | | | | | |-|-|-|-|-|- -| 0049 |[Group Anagrams](src/main/scala/g0001_0100/s0049_group_anagrams/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, String, Hash_Table, Sorting, Big_O_Time_O(n\*k_log_k)_Space_O(n) | 618 | 91.67 +| 0200 |[Number of Islands](src/main/scala/g0101_0200/s0200_number_of_islands/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Depth_First_Search, Breadth_First_Search, Matrix, Union_Find, Big_O_Time_O(M\*N)_Space_O(M\*N) | 537 | 93.18 -#### Day 12 +#### Udemy Dynamic Programming | | | | | | |-|-|-|-|-|- -| 0438 |[Find All Anagrams in a String](src/main/scala/g0401_0500/s0438_find_all_anagrams_in_a_string/Solution.scala)| Medium | Top_100_Liked_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(n+m)_Space_O(1) | 576 | 100.00 +| 0139 |[Word Break](src/main/scala/g0101_0200/s0139_word_break/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Dynamic_Programming, Trie, Memoization, Big_O_Time_O(M+max\*N)_Space_O(M+N+max) | 482 | 66.67 +| 0152 |[Maximum Product Subarray](src/main/scala/g0101_0200/s0152_maximum_product_subarray/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(N)_Space_O(1) | 472 | 100.00 +| 0198 |[House Robber](src/main/scala/g0101_0200/s0198_house_robber/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) | 426 | 98.04 +| 0070 |[Climbing Stairs](src/main/scala/g0001_0100/s0070_climbing_stairs/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Memoization, Big_O_Time_O(n)_Space_O(n) | 369 | 98.32 +| 0064 |[Minimum Path Sum](src/main/scala/g0001_0100/s0064_minimum_path_sum/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Matrix, Big_O_Time_O(m\*n)_Space_O(m\*n) | 521 | 92.86 +| 0300 |[Longest Increasing Subsequence](src/main/scala/g0201_0300/s0300_longest_increasing_subsequence/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Binary_Search, Big_O_Time_O(n\*log_n)_Space_O(n) | 522 | 88.89 +| 1143 |[Longest Common Subsequence](src/main/scala/g1101_1200/s1143_longest_common_subsequence/Solution.scala)| Medium | Top_100_Liked_Questions, String, Dynamic_Programming, Big_O_Time_O(n\*m)_Space_O(n\*m) | 507 | 100.00 +| 0072 |[Edit Distance](src/main/scala/g0001_0100/s0072_edit_distance/Solution.scala)| Hard | Top_100_Liked_Questions, String, Dynamic_Programming, Big_O_Time_O(n^2)_Space_O(n2) | 487 | 100.00 +| 0010 |[Regular Expression Matching](src/main/scala/g0001_0100/s0010_regular_expression_matching/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Recursion, Big_O_Time_O(m\*n)_Space_O(m\*n) | 459 | 75.00 -#### Day 13 +#### Udemy Backtracking/Recursion | | | | | | |-|-|-|-|-|- +| 0022 |[Generate Parentheses](src/main/scala/g0001_0100/s0022_generate_parentheses/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Backtracking, Big_O_Time_O(2^n)_Space_O(n) | 380 | 100.00 +| 0039 |[Combination Sum](src/main/scala/g0001_0100/s0039_combination_sum/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Backtracking, Big_O_Time_O(2^n)_Space_O(n+2^n) | 488 | 97.50 +| 0078 |[Subsets](src/main/scala/g0001_0100/s0078_subsets/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Bit_Manipulation, Backtracking, Big_O_Time_O(2^n)_Space_O(n\*2^n) | 452 | 87.50 +| 0017 |[Letter Combinations of a Phone Number](src/main/scala/g0001_0100/s0017_letter_combinations_of_a_phone_number/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Backtracking, Big_O_Time_O(4^n)_Space_O(n) | 459 | 58.54 +| 0046 |[Permutations](src/main/scala/g0001_0100/s0046_permutations/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Backtracking, Big_O_Time_O(n\*n!)_Space_O(n+n!) | 470 | 92.31 -#### Day 14 +#### Udemy Bit Manipulation | | | | | | |-|-|-|-|-|- -| 0138 |[Copy List with Random Pointer](src/main/scala/g0101_0200/s0138_copy_list_with_random_pointer/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Hash_Table, Linked_List, Big_O_Time_O(N)_Space_O(N) | 477 | 96.00 +| 0338 |[Counting Bits](src/main/scala/g0301_0400/s0338_counting_bits/Solution.scala)| Easy | Top_100_Liked_Questions, Dynamic_Programming, Bit_Manipulation, Big_O_Time_O(num)_Space_O(num) | 447 | 92.68 -#### Day 15 +#### Udemy Design | | | | | | |-|-|-|-|-|- -| 0002 |[Add Two Numbers](src/main/scala/g0001_0100/s0002_add_two_numbers/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Math, Linked_List, Recursion, Big_O_Time_O(max(N,M))_Space_O(max(N,M)) | 571 | 75.12 +| 0155 |[Min Stack](src/main/scala/g0101_0200/s0155_min_stack/MinStack.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Stack, Design, Big_O_Time_O(1)_Space_O(N) | 566 | 90.91 -#### Day 16 +### Top Interview 150 + +#### Top Interview 150 Array/String | | | | | | |-|-|-|-|-|- +| 0169 |[Majority Element](src/main/scala/g0101_0200/s0169_majority_element/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Sorting, Counting, Divide_and_Conquer, Big_O_Time_O(n)_Space_O(1) | 538 | 92.57 +| 0189 |[Rotate Array](src/main/scala/g0101_0200/s0189_rotate_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Math, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 600 | 96.59 +| 0121 |[Best Time to Buy and Sell Stock](src/main/scala/g0101_0200/s0121_best_time_to_buy_and_sell_stock/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(N)_Space_O(1) | 762 | 98.45 +| 0055 |[Jump Game](src/main/scala/g0001_0100/s0055_jump_game/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) | 769 | 79.03 +| 0045 |[Jump Game II](src/main/scala/g0001_0100/s0045_jump_game_ii/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) | 653 | 83.87 +| 0238 |[Product of Array Except Self](src/main/scala/g0201_0300/s0238_product_of_array_except_self/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Prefix_Sum, Big_O_Time_O(n^2)_Space_O(n) | 634 | 79.44 +| 0042 |[Trapping Rain Water](src/main/scala/g0001_0100/s0042_trapping_rain_water/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Two_Pointers, Stack, Monotonic_Stack, Big_O_Time_O(n)_Space_O(1) | 521 | 87.88 +| 0006 |[Zigzag Conversion](src/main/scala/g0001_0100/s0006_zigzag_conversion/Solution.scala)| Medium | String | 542 | 85.71 -#### Day 17 +#### Top Interview 150 Two Pointers | | | | | | |-|-|-|-|-|- +| 0011 |[Container With Most Water](src/main/scala/g0001_0100/s0011_container_with_most_water/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Greedy, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 683 | 99.13 +| 0015 |[3Sum](src/main/scala/g0001_0100/s0015_3sum/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Two_Pointers, Big_O_Time_O(n\*log(n))_Space_O(n^2) | 721 | 95.24 -#### Day 18 +#### Top Interview 150 Sliding Window + +| | | | | | +|-|-|-|-|-|- +| 0003 |[Longest Substring Without Repeating Characters](src/main/scala/g0001_0100/s0003_longest_substring_without_repeating_characters/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(n)_Space_O(1) | 482 | 96.91 +| 0076 |[Minimum Window Substring](src/main/scala/g0001_0100/s0076_minimum_window_substring/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(s.length())_Space_O(1) | 453 | 100.00 + +#### Top Interview 150 Matrix + +| | | | | | +|-|-|-|-|-|- +| 0048 |[Rotate Image](src/main/scala/g0001_0100/s0048_rotate_image/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Math, Matrix, Big_O_Time_O(n^2)_Space_O(1) | 472 | 66.67 +| 0073 |[Set Matrix Zeroes](src/main/scala/g0001_0100/s0073_set_matrix_zeroes/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Matrix, Big_O_Time_O(m\*n)_Space_O(1) | 557 | 90.91 + +#### Top Interview 150 Hashmap + +| | | | | | +|-|-|-|-|-|- +| 0049 |[Group Anagrams](src/main/scala/g0001_0100/s0049_group_anagrams/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, String, Hash_Table, Sorting, Big_O_Time_O(n\*k_log_k)_Space_O(n) | 618 | 91.67 +| 0001 |[Two Sum](src/main/scala/g0001_0100/s0001_two_sum/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Big_O_Time_O(n)_Space_O(n) | 680 | 76.33 +| 0128 |[Longest Consecutive Sequence](src/main/scala/g0101_0200/s0128_longest_consecutive_sequence/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Union_Find, Big_O_Time_O(N_log_N)_Space_O(1) | 708 | 100.00 + +#### Top Interview 150 Intervals + +| | | | | | +|-|-|-|-|-|- +| 0056 |[Merge Intervals](src/main/scala/g0001_0100/s0056_merge_intervals/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Big_O_Time_O(n_log_n)_Space_O(n) | 583 | 90.91 + +#### Top Interview 150 Stack | | | | | | |-|-|-|-|-|- +| 0020 |[Valid Parentheses](src/main/scala/g0001_0100/s0020_valid_parentheses/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, String, Stack, Big_O_Time_O(n)_Space_O(n) | 587 | 69.29 | 0155 |[Min Stack](src/main/scala/g0101_0200/s0155_min_stack/MinStack.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Stack, Design, Big_O_Time_O(1)_Space_O(N) | 566 | 90.91 -#### Day 19 +#### Top Interview 150 Linked List | | | | | | |-|-|-|-|-|- +| 0141 |[Linked List Cycle](src/main/scala/g0101_0200/s0141_linked_list_cycle/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Hash_Table, Two_Pointers, Linked_List, Big_O_Time_O(N)_Space_O(1) | 503 | 84.25 +| 0002 |[Add Two Numbers](src/main/scala/g0001_0100/s0002_add_two_numbers/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Math, Linked_List, Recursion, Big_O_Time_O(max(N,M))_Space_O(max(N,M)) | 571 | 75.12 +| 0021 |[Merge Two Sorted Lists](src/main/scala/g0001_0100/s0021_merge_two_sorted_lists/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(m+n)_Space_O(m+n) | 480 | 89.72 +| 0138 |[Copy List with Random Pointer](src/main/scala/g0101_0200/s0138_copy_list_with_random_pointer/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Hash_Table, Linked_List, Big_O_Time_O(N)_Space_O(N) | 477 | 96.00 +| 0025 |[Reverse Nodes in k-Group](src/main/scala/g0001_0100/s0025_reverse_nodes_in_k_group/Solution.scala)| Hard | Top_100_Liked_Questions, Linked_List, Recursion, Big_O_Time_O(n)_Space_O(k) | 520 | 80.00 +| 0019 |[Remove Nth Node From End of List](src/main/scala/g0001_0100/s0019_remove_nth_node_from_end_of_list/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Two_Pointers, Linked_List, Big_O_Time_O(L)_Space_O(L) | 492 | 52.63 +| 0146 |[LRU Cache](src/main/scala/g0101_0200/s0146_lru_cache/LRUCache.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Hash_Table, Design, Linked_List, Doubly_Linked_List, Big_O_Time_O(1)_Space_O(capacity) | 1590 | 85.19 -#### Day 20 +#### Top Interview 150 Binary Tree General | | | | | | |-|-|-|-|-|- +| 0104 |[Maximum Depth of Binary Tree](src/main/scala/g0101_0200/s0104_maximum_depth_of_binary_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(H) | 472 | 90.83 +| 0226 |[Invert Binary Tree](src/main/scala/g0201_0300/s0226_invert_binary_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) | 421 | 97.33 +| 0101 |[Symmetric Tree](src/main/scala/g0101_0200/s0101_symmetric_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(log(N)) | 454 | 90.38 +| 0105 |[Construct Binary Tree from Preorder and Inorder Traversal](src/main/scala/g0101_0200/s0105_construct_binary_tree_from_preorder_and_inorder_traversal/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Tree, Binary_Tree, Divide_and_Conquer, Big_O_Time_O(N)_Space_O(N) | 564 | 91.67 +| 0114 |[Flatten Binary Tree to Linked List](src/main/scala/g0101_0200/s0114_flatten_binary_tree_to_linked_list/Solution.scala)| Medium | Top_100_Liked_Questions, Depth_First_Search, Tree, Binary_Tree, Stack, Linked_List, Big_O_Time_O(N)_Space_O(N) | 491 | 54.17 +| 0124 |[Binary Tree Maximum Path Sum](src/main/scala/g0101_0200/s0124_binary_tree_maximum_path_sum/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Depth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(N) | 523 | 89.47 +| 0236 |[Lowest Common Ancestor of a Binary Tree](src/main/scala/g0201_0300/s0236_lowest_common_ancestor_of_a_binary_tree/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) | 539 | 70.73 -### Graph Theory I +#### Top Interview 150 Binary Tree BFS -#### Day 1 Matrix Related Problems +| | | | | | +|-|-|-|-|-|- +| 0102 |[Binary Tree Level Order Traversal](src/main/scala/g0101_0200/s0102_binary_tree_level_order_traversal/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(N) | 522 | 83.33 + +#### Top Interview 150 Binary Search Tree + +| | | | | | +|-|-|-|-|-|- +| 0230 |[Kth Smallest Element in a BST](src/main/scala/g0201_0300/s0230_kth_smallest_element_in_a_bst/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Binary_Search_Tree, Big_O_Time_O(n)_Space_O(n) | 503 | 91.30 +| 0098 |[Validate Binary Search Tree](src/main/scala/g0001_0100/s0098_validate_binary_search_tree/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Binary_Search_Tree, Big_O_Time_O(N)_Space_O(log(N)) | 507 | 70.21 + +#### Top Interview 150 Graph General | | | | | | |-|-|-|-|-|- | 0200 |[Number of Islands](src/main/scala/g0101_0200/s0200_number_of_islands/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Depth_First_Search, Breadth_First_Search, Matrix, Union_Find, Big_O_Time_O(M\*N)_Space_O(M\*N) | 537 | 93.18 +| 0207 |[Course Schedule](src/main/scala/g0201_0300/s0207_course_schedule/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Breadth_First_Search, Graph, Topological_Sort, Big_O_Time_O(N)_Space_O(N) | 720 | 91.11 -#### Day 2 Matrix Related Problems +#### Top Interview 150 Graph BFS | | | | | | |-|-|-|-|-|- -#### Day 3 Matrix Related Problems +#### Top Interview 150 Trie | | | | | | |-|-|-|-|-|- +| 0208 |[Implement Trie (Prefix Tree)](src/main/scala/g0201_0300/s0208_implement_trie_prefix_tree/Trie.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Design, Trie, Big_O_Time_O(word.length())_or_O(prefix.length())_Space_O(N) | 610 | 100.00 -#### Day 4 Matrix Related Problems +#### Top Interview 150 Backtracking | | | | | | |-|-|-|-|-|- +| 0017 |[Letter Combinations of a Phone Number](src/main/scala/g0001_0100/s0017_letter_combinations_of_a_phone_number/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Backtracking, Big_O_Time_O(4^n)_Space_O(n) | 459 | 58.54 +| 0046 |[Permutations](src/main/scala/g0001_0100/s0046_permutations/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Backtracking, Big_O_Time_O(n\*n!)_Space_O(n+n!) | 470 | 92.31 +| 0039 |[Combination Sum](src/main/scala/g0001_0100/s0039_combination_sum/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Backtracking, Big_O_Time_O(2^n)_Space_O(n+2^n) | 488 | 97.50 +| 0022 |[Generate Parentheses](src/main/scala/g0001_0100/s0022_generate_parentheses/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Backtracking, Big_O_Time_O(2^n)_Space_O(n) | 380 | 100.00 +| 0079 |[Word Search](src/main/scala/g0001_0100/s0079_word_search/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Matrix, Backtracking, Big_O_Time_O(4^(m\*n))_Space_O(m\*n) | 848 | 74.19 -#### Day 5 Matrix Related Problems +#### Top Interview 150 Divide and Conquer | | | | | | |-|-|-|-|-|- +| 0148 |[Sort List](src/main/scala/g0101_0200/s0148_sort_list/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Sorting, Two_Pointers, Linked_List, Divide_and_Conquer, Merge_Sort, Big_O_Time_O(log(N))_Space_O(log(N)) | 745 | 75.00 +| 0023 |[Merge k Sorted Lists](src/main/scala/g0001_0100/s0023_merge_k_sorted_lists/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, Heap_Priority_Queue, Linked_List, Divide_and_Conquer, Merge_Sort, Big_O_Time_O(k\*n\*log(k))_Space_O(log(k)) | 549 | 94.74 -#### Day 6 Matrix Related Problems +#### Top Interview 150 Kadane's Algorithm | | | | | | |-|-|-|-|-|- +| 0053 |[Maximum Subarray](src/main/scala/g0001_0100/s0053_maximum_subarray/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Divide_and_Conquer, Big_O_Time_O(n)_Space_O(1) | 766 | 84.95 -#### Day 7 Standard Traversal +#### Top Interview 150 Binary Search | | | | | | |-|-|-|-|-|- +| 0035 |[Search Insert Position](src/main/scala/g0001_0100/s0035_search_insert_position/Solution.scala)| Easy | Top_100_Liked_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 466 | 87.04 +| 0074 |[Search a 2D Matrix](src/main/scala/g0001_0100/s0074_search_a_2d_matrix/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Matrix, Big_O_Time_O(endRow+endCol)_Space_O(1) | 478 | 83.33 +| 0033 |[Search in Rotated Sorted Array](src/main/scala/g0001_0100/s0033_search_in_rotated_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 453 | 91.53 +| 0034 |[Find First and Last Position of Element in Sorted Array](src/main/scala/g0001_0100/s0034_find_first_and_last_position_of_element_in_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) | 478 | 97.85 +| 0153 |[Find Minimum in Rotated Sorted Array](src/main/scala/g0101_0200/s0153_find_minimum_in_rotated_sorted_array/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Big_O_Time_O(log_N)_Space_O(log_N) | 457 | 78.79 +| 0004 |[Median of Two Sorted Arrays](src/main/scala/g0001_0100/s0004_median_of_two_sorted_arrays/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Divide_and_Conquer, Big_O_Time_O(log(min(N,M)))_Space_O(1) | 644 | 80.82 -#### Day 8 Standard Traversal +#### Top Interview 150 Heap | | | | | | |-|-|-|-|-|- +| 0215 |[Kth Largest Element in an Array](src/main/scala/g0201_0300/s0215_kth_largest_element_in_an_array/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Heap_Priority_Queue, Divide_and_Conquer, Quickselect, Big_O_Time_O(n\*log(n))_Space_O(log(n)) | 799 | 95.45 +| 0295 |[Find Median from Data Stream](src/main/scala/g0201_0300/s0295_find_median_from_data_stream/MedianFinder.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, Sorting, Two_Pointers, Design, Heap_Priority_Queue, Data_Stream, Big_O_Time_O(n\*log_n)_Space_O(n) | 1690 | 83.33 -#### Day 9 Standard Traversal +#### Top Interview 150 Bit Manipulation | | | | | | |-|-|-|-|-|- +| 0136 |[Single Number](src/main/scala/g0101_0200/s0136_single_number/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Bit_Manipulation, Big_O_Time_O(N)_Space_O(1) | 530 | 78.57 -#### Day 10 Standard Traversal +#### Top Interview 150 Math | | | | | | |-|-|-|-|-|- +| 0009 |[Palindrome Number](src/main/scala/g0001_0100/s0009_palindrome_number/Solution.scala)| Easy | Math | 453 | 99.49 -#### Day 11 Breadth First Search +#### Top Interview 150 1D DP | | | | | | |-|-|-|-|-|- +| 0070 |[Climbing Stairs](src/main/scala/g0001_0100/s0070_climbing_stairs/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Memoization, Big_O_Time_O(n)_Space_O(n) | 369 | 98.32 +| 0198 |[House Robber](src/main/scala/g0101_0200/s0198_house_robber/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) | 426 | 98.04 +| 0139 |[Word Break](src/main/scala/g0101_0200/s0139_word_break/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Dynamic_Programming, Trie, Memoization, Big_O_Time_O(M+max\*N)_Space_O(M+N+max) | 482 | 66.67 +| 0322 |[Coin Change](src/main/scala/g0301_0400/s0322_coin_change/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Breadth_First_Search, Big_O_Time_O(m\*n)_Space_O(amount) | 533 | 84.21 +| 0300 |[Longest Increasing Subsequence](src/main/scala/g0201_0300/s0300_longest_increasing_subsequence/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Binary_Search, Big_O_Time_O(n\*log_n)_Space_O(n) | 522 | 88.89 -#### Day 12 Breadth First Search +#### Top Interview 150 Multidimensional DP | | | | | | |-|-|-|-|-|- +| 0064 |[Minimum Path Sum](src/main/scala/g0001_0100/s0064_minimum_path_sum/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Matrix, Big_O_Time_O(m\*n)_Space_O(m\*n) | 521 | 92.86 +| 0005 |[Longest Palindromic Substring](src/main/scala/g0001_0100/s0005_longest_palindromic_substring/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) | 502 | 87.65 +| 0072 |[Edit Distance](src/main/scala/g0001_0100/s0072_edit_distance/Solution.scala)| Hard | Top_100_Liked_Questions, String, Dynamic_Programming, Big_O_Time_O(n^2)_Space_O(n2) | 487 | 100.00 +| 0221 |[Maximal Square](src/main/scala/g0201_0300/s0221_maximal_square/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Matrix, Big_O_Time_O(m\*n)_Space_O(m\*n) | 626 | 100.00 -#### Day 13 Graph Theory +### Data Structure I + +#### Day 1 Array | | | | | | |-|-|-|-|-|- +| 0053 |[Maximum Subarray](src/main/scala/g0001_0100/s0053_maximum_subarray/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Divide_and_Conquer, Big_O_Time_O(n)_Space_O(1) | 766 | 84.95 -#### Day 14 Graph Theory +#### Day 2 Array + +| | | | | | +|-|-|-|-|-|- +| 0001 |[Two Sum](src/main/scala/g0001_0100/s0001_two_sum/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Big_O_Time_O(n)_Space_O(n) | 680 | 76.33 + +#### Day 3 Array + +| | | | | | +|-|-|-|-|-|- +| 0121 |[Best Time to Buy and Sell Stock](src/main/scala/g0101_0200/s0121_best_time_to_buy_and_sell_stock/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(N)_Space_O(1) | 762 | 98.45 + +#### Day 4 Array + +| | | | | | +|-|-|-|-|-|- + +#### Day 5 Array + +| | | | | | +|-|-|-|-|-|- +| 0074 |[Search a 2D Matrix](src/main/scala/g0001_0100/s0074_search_a_2d_matrix/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Matrix, Big_O_Time_O(endRow+endCol)_Space_O(1) | 478 | 83.33 + +#### Day 6 String + +| | | | | | +|-|-|-|-|-|- + +#### Day 7 Linked List + +| | | | | | +|-|-|-|-|-|- +| 0141 |[Linked List Cycle](src/main/scala/g0101_0200/s0141_linked_list_cycle/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Hash_Table, Two_Pointers, Linked_List, Big_O_Time_O(N)_Space_O(1) | 503 | 84.25 +| 0021 |[Merge Two Sorted Lists](src/main/scala/g0001_0100/s0021_merge_two_sorted_lists/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(m+n)_Space_O(m+n) | 480 | 89.72 + +#### Day 8 Linked List | | | | | | |-|-|-|-|-|- +| 0206 |[Reverse Linked List](src/main/scala/g0201_0300/s0206_reverse_linked_list/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(N)_Space_O(1) | 474 | 87.50 + +#### Day 9 Stack Queue + +| | | | | | +|-|-|-|-|-|- +| 0020 |[Valid Parentheses](src/main/scala/g0001_0100/s0020_valid_parentheses/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, String, Stack, Big_O_Time_O(n)_Space_O(n) | 587 | 69.29 + +#### Day 10 Tree + +| | | | | | +|-|-|-|-|-|- +| 0094 |[Binary Tree Inorder Traversal](src/main/scala/g0001_0100/s0094_binary_tree_inorder_traversal/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Stack, Big_O_Time_O(n)_Space_O(n) | 456 | 68.42 + +#### Day 11 Tree + +| | | | | | +|-|-|-|-|-|- +| 0102 |[Binary Tree Level Order Traversal](src/main/scala/g0101_0200/s0102_binary_tree_level_order_traversal/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(N) | 522 | 83.33 +| 0104 |[Maximum Depth of Binary Tree](src/main/scala/g0101_0200/s0104_maximum_depth_of_binary_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(H) | 472 | 90.83 +| 0101 |[Symmetric Tree](src/main/scala/g0101_0200/s0101_symmetric_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(log(N)) | 454 | 90.38 + +#### Day 12 Tree + +| | | | | | +|-|-|-|-|-|- +| 0226 |[Invert Binary Tree](src/main/scala/g0201_0300/s0226_invert_binary_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) | 421 | 97.33 + +#### Day 13 Tree + +| | | | | | +|-|-|-|-|-|- + +#### Day 14 Tree + +| | | | | | +|-|-|-|-|-|- +| 0098 |[Validate Binary Search Tree](src/main/scala/g0001_0100/s0098_validate_binary_search_tree/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Binary_Search_Tree, Big_O_Time_O(N)_Space_O(log(N)) | 507 | 70.21 ## Algorithms @@ -1453,7 +1638,7 @@ implementation 'com.github.javadev:leetcode-in-scala:1.0' | 0239 |[Sliding Window Maximum](src/main/scala/g0201_0300/s0239_sliding_window_maximum/Solution.scala)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, Array, Heap_Priority_Queue, Sliding_Window, Queue, Monotonic_Queue, Udemy_Arrays, Big_O_Time_O(n\*k)_Space_O(n+k) | 1149 | 86.67 | 0238 |[Product of Array Except Self](src/main/scala/g0201_0300/s0238_product_of_array_except_self/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Prefix_Sum, Data_Structure_II_Day_5_Array, Udemy_Arrays, Big_O_Time_O(n^2)_Space_O(n) | 634 | 79.44 | 0236 |[Lowest Common Ancestor of a Binary Tree](src/main/scala/g0201_0300/s0236_lowest_common_ancestor_of_a_binary_tree/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Data_Structure_II_Day_18_Tree, Udemy_Tree_Stack_Queue, Big_O_Time_O(n)_Space_O(n) | 539 | 70.73 -| 0234 |[Palindrome Linked List](src/main/scala/g0201_0300/s0234_palindrome_linked_list/Solution.scala)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Two_Pointers, Stack, Linked_List, Recursion, Level_2_Day_3_Linked_List, Udemy_Linked_List, Big_O_Time_O(n)_Space_O(1) | 811 | 85.71 +| 0234 |[Palindrome Linked List](src/main/scala/g0201_0300/s0234_palindrome_linked_list/Solution.scala)| Easy | Top_100_Liked_Questions, Two_Pointers, Stack, Linked_List, Recursion, Level_2_Day_3_Linked_List, Udemy_Linked_List, Big_O_Time_O(n)_Space_O(1) | 912 | 100.00 | 0230 |[Kth Smallest Element in a BST](src/main/scala/g0201_0300/s0230_kth_smallest_element_in_a_bst/Solution.scala)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Binary_Search_Tree, Data_Structure_II_Day_17_Tree, Level_2_Day_9_Binary_Search_Tree, Big_O_Time_O(n)_Space_O(n) | 503 | 91.30 | 0226 |[Invert Binary Tree](src/main/scala/g0201_0300/s0226_invert_binary_tree/Solution.scala)| Easy | Top_100_Liked_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Data_Structure_I_Day_12_Tree, Level_2_Day_6_Tree, Udemy_Tree_Stack_Queue, Big_O_Time_O(n)_Space_O(n) | 421 | 97.33 | 0221 |[Maximal Square](src/main/scala/g0201_0300/s0221_maximal_square/Solution.scala)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Matrix, Dynamic_Programming_I_Day_16, Big_O_Time_O(m\*n)_Space_O(m\*n) | 626 | 100.00