diff --git a/README.md b/README.md index 12ddf2436..28f61e46c 100644 --- a/README.md +++ b/README.md @@ -79,7 +79,7 @@ implementation 'com.github.javadev:leetcode-in-java:1.37' | | | | | | |-|-|-|-|-|- -| 0240 |[Search a 2D Matrix II](src/main/java/g0201_0300/s0240_search_a_2d_matrix_ii/Solution.java)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Matrix, Divide_and_Conquer, Big_O_Time_O(n+m)_Space_O(1) | 7 | 86.73 +| 0240 |[Search a 2D Matrix II](src/main/java/g0201_0300/s0240_search_a_2d_matrix_ii/Solution.java)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Matrix, Divide_and_Conquer, Big_O_Time_O(n+m)_Space_O(1) | 5 | 99.92 | 0435 |[Non-overlapping Intervals](src/main/java/g0401_0500/s0435_non_overlapping_intervals/Solution.java)| Medium | Array, Dynamic_Programming, Sorting, Greedy | 96 | 47.37 #### Day 5 Array @@ -87,7 +87,7 @@ implementation 'com.github.javadev:leetcode-in-java:1.37' | | | | | | |-|-|-|-|-|- | 0334 |[Increasing Triplet Subsequence](src/main/java/g0301_0400/s0334_increasing_triplet_subsequence/Solution.java)| Medium | Array, Greedy | 2 | 99.33 -| 0238 |[Product of Array Except Self](src/main/java/g0201_0300/s0238_product_of_array_except_self/Solution.java)| Medium | Top_100_Liked_Questions, Array, Prefix_Sum, Big_O_Time_O(n^2)_Space_O(n) | 1 | 100.00 +| 0238 |[Product of Array Except Self](src/main/java/g0201_0300/s0238_product_of_array_except_self/Solution.java)| Medium | Top_100_Liked_Questions, Array, Prefix_Sum, Big_O_Time_O(n^2)_Space_O(n) | 1 | 99.66 | 0560 |[Subarray Sum Equals K](src/main/java/g0501_0600/s0560_subarray_sum_equals_k/Solution.java)| Medium | Top_100_Liked_Questions, Array, Hash_Table, Prefix_Sum, Big_O_Time_O(n)_Space_O(n) | 21 | 98.97 #### Day 6 String @@ -174,14 +174,14 @@ implementation 'com.github.javadev:leetcode-in-java:1.37' | | | | | | |-|-|-|-|-|- -| 0230 |[Kth Smallest Element in a BST](src/main/java/g0201_0300/s0230_kth_smallest_element_in_a_bst/Solution.java)| Medium | Top_100_Liked_Questions, Depth_First_Search, Tree, Binary_Tree, Binary_Search_Tree, Big_O_Time_O(n)_Space_O(n) | 1 | 78.91 +| 0230 |[Kth Smallest Element in a BST](src/main/java/g0201_0300/s0230_kth_smallest_element_in_a_bst/Solution.java)| Medium | Top_100_Liked_Questions, Depth_First_Search, Tree, Binary_Tree, Binary_Search_Tree, Big_O_Time_O(n)_Space_O(n) | 0 | 100.00 | 0173 |[Binary Search Tree Iterator](src/main/java/g0101_0200/s0173_binary_search_tree_iterator/BSTIterator.java)| Medium | Tree, Binary_Tree, Stack, Design, Binary_Search_Tree, Iterator | 18 | 84.18 #### Day 18 Tree | | | | | | |-|-|-|-|-|- -| 0236 |[Lowest Common Ancestor of a Binary Tree](src/main/java/g0201_0300/s0236_lowest_common_ancestor_of_a_binary_tree/Solution.java)| Medium | Top_100_Liked_Questions, Depth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) | 10 | 56.51 +| 0236 |[Lowest Common Ancestor of a Binary Tree](src/main/java/g0201_0300/s0236_lowest_common_ancestor_of_a_binary_tree/Solution.java)| Medium | Top_100_Liked_Questions, Depth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) | 6 | 100.00 | 0297 |[Serialize and Deserialize Binary Tree](src/main/java/g0201_0300/s0297_serialize_and_deserialize_binary_tree/Codec.java)| Hard | String, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Design | 7 | 98.13 #### Day 19 Graph @@ -227,7 +227,7 @@ implementation 'com.github.javadev:leetcode-in-java:1.37' | | | | | | |-|-|-|-|-|- -| 0283 |[Move Zeroes](src/main/java/g0201_0300/s0283_move_zeroes/Solution.java)| Easy | Top_100_Liked_Questions, Array, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 2 | 79.54 +| 0283 |[Move Zeroes](src/main/java/g0201_0300/s0283_move_zeroes/Solution.java)| Easy | Top_100_Liked_Questions, Array, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 2 | 83.99 | 0167 |[Two Sum II - Input Array Is Sorted](src/main/java/g0101_0200/s0167_two_sum_ii_input_array_is_sorted/Solution.java)| Medium | Array, Binary_Search, Two_Pointers | 1 | 99.21 #### Day 4 Two Pointers @@ -426,7 +426,7 @@ implementation 'com.github.javadev:leetcode-in-java:1.37' | | | | | | |-|-|-|-|-|- -| 0300 |[Longest Increasing Subsequence](src/main/java/g0201_0300/s0300_longest_increasing_subsequence/Solution.java)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Binary_Search, Big_O_Time_O(n\*log_n)_Space_O(n) | 3 | 98.63 +| 0300 |[Longest Increasing Subsequence](src/main/java/g0201_0300/s0300_longest_increasing_subsequence/Solution.java)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Binary_Search, Big_O_Time_O(n\*log_n)_Space_O(n) | 3 | 95.75 | 0673 |[Number of Longest Increasing Subsequence](src/main/java/g0601_0700/s0673_number_of_longest_increasing_subsequence/Solution.java)| Medium | Array, Dynamic_Programming, Segment_Tree, Binary_Indexed_Tree | 25 | 68.75 #### Day 17 Dynamic Programming @@ -441,7 +441,7 @@ implementation 'com.github.javadev:leetcode-in-java:1.37' | | | | | | |-|-|-|-|-|- | 0072 |[Edit Distance](src/main/java/g0001_0100/s0072_edit_distance/Solution.java)| Medium | Top_100_Liked_Questions, String, Dynamic_Programming, Big_O_Time_O(n^2)_Space_O(n2) | 3 | 97.19 -| 0322 |[Coin Change](src/main/java/g0301_0400/s0322_coin_change/Solution.java)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Breadth_First_Search, Big_O_Time_O(m\*n)_Space_O(amount) | 17 | 91.77 +| 0322 |[Coin Change](src/main/java/g0301_0400/s0322_coin_change/Solution.java)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Breadth_First_Search, Big_O_Time_O(m\*n)_Space_O(amount) | 12 | 92.59 | 0343 |[Integer Break](src/main/java/g0301_0400/s0343_integer_break/Solution.java)| Medium | Dynamic_Programming, Math | 0 | 100.00 #### Day 19 Bit Manipulation @@ -568,7 +568,7 @@ implementation 'com.github.javadev:leetcode-in-java:1.37' | | | | | | |-|-|-|-|-|- -| 0300 |[Longest Increasing Subsequence](src/main/java/g0201_0300/s0300_longest_increasing_subsequence/Solution.java)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Binary_Search, Big_O_Time_O(n\*log_n)_Space_O(n) | 3 | 98.63 +| 0300 |[Longest Increasing Subsequence](src/main/java/g0201_0300/s0300_longest_increasing_subsequence/Solution.java)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Binary_Search, Big_O_Time_O(n\*log_n)_Space_O(n) | 3 | 95.75 | 1760 |[Minimum Limit of Balls in a Bag](src/main/java/g1701_1800/s1760_minimum_limit_of_balls_in_a_bag/Solution.java)| Medium | Array, Binary_Search | 44 | 78.49 #### Day 4 @@ -582,7 +582,7 @@ implementation 'com.github.javadev:leetcode-in-java:1.37' | | | | | | |-|-|-|-|-|- -| 0287 |[Find the Duplicate Number](src/main/java/g0201_0300/s0287_find_the_duplicate_number/Solution.java)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Two_Pointers, Bit_Manipulation, Big_O_Time_O(n)_Space_O(n) | 2 | 99.82 +| 0287 |[Find the Duplicate Number](src/main/java/g0201_0300/s0287_find_the_duplicate_number/Solution.java)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Two_Pointers, Bit_Manipulation, Big_O_Time_O(n)_Space_O(n) | 2 | 97.52 | 1283 |[Find the Smallest Divisor Given a Threshold](src/main/java/g1201_1300/s1283_find_the_smallest_divisor_given_a_threshold/Solution.java)| Medium | Array, Binary_Search | 9 | 95.49 #### Day 6 @@ -603,7 +603,7 @@ implementation 'com.github.javadev:leetcode-in-java:1.37' | | | | | | |-|-|-|-|-|- -| 0240 |[Search a 2D Matrix II](src/main/java/g0201_0300/s0240_search_a_2d_matrix_ii/Solution.java)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Matrix, Divide_and_Conquer, Big_O_Time_O(n+m)_Space_O(1) | 7 | 86.73 +| 0240 |[Search a 2D Matrix II](src/main/java/g0201_0300/s0240_search_a_2d_matrix_ii/Solution.java)| Medium | Top_100_Liked_Questions, Array, Binary_Search, Matrix, Divide_and_Conquer, Big_O_Time_O(n+m)_Space_O(1) | 5 | 99.92 | 0275 |[H-Index II](src/main/java/g0201_0300/s0275_h_index_ii/Solution.java)| Medium | Array, Binary_Search | 0 | 100.00 #### Day 9 @@ -804,7 +804,7 @@ implementation 'com.github.javadev:leetcode-in-java:1.37' | | | | | | |-|-|-|-|-|- | 0064 |[Minimum Path Sum](src/main/java/g0001_0100/s0064_minimum_path_sum/Solution.java)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Matrix, Big_O_Time_O(m\*n)_Space_O(m\*n) | 1 | 99.73 -| 0221 |[Maximal Square](src/main/java/g0201_0300/s0221_maximal_square/Solution.java)| Medium | Array, Dynamic_Programming, Matrix, Big_O_Time_O(m\*n)_Space_O(m\*n) | 7 | 72.35 +| 0221 |[Maximal Square](src/main/java/g0201_0300/s0221_maximal_square/Solution.java)| Medium | Array, Dynamic_Programming, Matrix, Big_O_Time_O(m\*n)_Space_O(m\*n) | 6 | 97.07 #### Day 17 @@ -817,7 +817,7 @@ implementation 'com.github.javadev:leetcode-in-java:1.37' | | | | | | |-|-|-|-|-|- -| 0300 |[Longest Increasing Subsequence](src/main/java/g0201_0300/s0300_longest_increasing_subsequence/Solution.java)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Binary_Search, Big_O_Time_O(n\*log_n)_Space_O(n) | 3 | 98.63 +| 0300 |[Longest Increasing Subsequence](src/main/java/g0201_0300/s0300_longest_increasing_subsequence/Solution.java)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Binary_Search, Big_O_Time_O(n\*log_n)_Space_O(n) | 3 | 95.75 | 0376 |[Wiggle Subsequence](src/main/java/g0301_0400/s0376_wiggle_subsequence/Solution.java)| Medium | Array, Dynamic_Programming, Greedy | 0 | 100.00 #### Day 19 @@ -832,7 +832,7 @@ implementation 'com.github.javadev:leetcode-in-java:1.37' | | | | | | |-|-|-|-|-|- -| 0322 |[Coin Change](src/main/java/g0301_0400/s0322_coin_change/Solution.java)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Breadth_First_Search, Big_O_Time_O(m\*n)_Space_O(amount) | 17 | 91.77 +| 0322 |[Coin Change](src/main/java/g0301_0400/s0322_coin_change/Solution.java)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Breadth_First_Search, Big_O_Time_O(m\*n)_Space_O(amount) | 12 | 92.59 | 0518 |[Coin Change 2](src/main/java/g0501_0600/s0518_coin_change_2/Solution.java)| Medium | Array, Dynamic_Programming | 4 | 84.67 #### Day 21 @@ -888,7 +888,7 @@ implementation 'com.github.javadev:leetcode-in-java:1.37' | | | | | | |-|-|-|-|-|- | 1588 |[Sum of All Odd Length Subarrays](src/main/java/g1501_1600/s1588_sum_of_all_odd_length_subarrays/Solution.java)| Easy | Array, Math, Prefix_Sum | 0 | 100.00 -| 0283 |[Move Zeroes](src/main/java/g0201_0300/s0283_move_zeroes/Solution.java)| Easy | Top_100_Liked_Questions, Array, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 2 | 79.54 +| 0283 |[Move Zeroes](src/main/java/g0201_0300/s0283_move_zeroes/Solution.java)| Easy | Top_100_Liked_Questions, Array, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 2 | 83.99 | 1672 |[Richest Customer Wealth](src/main/java/g1601_1700/s1672_richest_customer_wealth/Solution.java)| Easy | Array, Matrix | 0 | 100.00 #### Day 7 Array @@ -1400,7 +1400,7 @@ implementation 'com.github.javadev:leetcode-in-java:1.37' | | | | | | |-|-|-|-|-|- | 0019 |[Remove Nth Node From End of List](src/main/java/g0001_0100/s0019_remove_nth_node_from_end_of_list/Solution.java)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Two_Pointers, Linked_List, Big_O_Time_O(L)_Space_O(L) | 0 | 100.00 -| 0234 |[Palindrome Linked List](src/main/java/g0201_0300/s0234_palindrome_linked_list/Solution.java)| Easy | Top_100_Liked_Questions, Two_Pointers, Stack, Linked_List, Recursion, Big_O_Time_O(n)_Space_O(1) | 6 | 76.07 +| 0234 |[Palindrome Linked List](src/main/java/g0201_0300/s0234_palindrome_linked_list/Solution.java)| Easy | Top_100_Liked_Questions, Two_Pointers, Stack, Linked_List, Recursion, Big_O_Time_O(n)_Space_O(1) | 4 | 84.46 #### Day 4 Linked List @@ -1442,7 +1442,7 @@ implementation 'com.github.javadev:leetcode-in-java:1.37' | | | | | | |-|-|-|-|-|- | 0108 |[Convert Sorted Array to Binary Search Tree](src/main/java/g0101_0200/s0108_convert_sorted_array_to_binary_search_tree/Solution.java)| Easy | Top_Interview_Questions, Array, Tree, Binary_Tree, Binary_Search_Tree, Divide_and_Conquer | 0 | 100.00 -| 0230 |[Kth Smallest Element in a BST](src/main/java/g0201_0300/s0230_kth_smallest_element_in_a_bst/Solution.java)| Medium | Top_100_Liked_Questions, Depth_First_Search, Tree, Binary_Tree, Binary_Search_Tree, Big_O_Time_O(n)_Space_O(n) | 1 | 78.91 +| 0230 |[Kth Smallest Element in a BST](src/main/java/g0201_0300/s0230_kth_smallest_element_in_a_bst/Solution.java)| Medium | Top_100_Liked_Questions, Depth_First_Search, Tree, Binary_Tree, Binary_Search_Tree, Big_O_Time_O(n)_Space_O(n) | 0 | 100.00 | 0173 |[Binary Search Tree Iterator](src/main/java/g0101_0200/s0173_binary_search_tree_iterator/BSTIterator.java)| Medium | Tree, Binary_Tree, Stack, Design, Binary_Search_Tree, Iterator | 18 | 84.18 #### Day 10 Graph/BFS/DFS @@ -1464,7 +1464,7 @@ implementation 'com.github.javadev:leetcode-in-java:1.37' | | | | | | |-|-|-|-|-|- | 0198 |[House Robber](src/main/java/g0101_0200/s0198_house_robber/Solution.java)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) | 0 | 100.00 -| 0322 |[Coin Change](src/main/java/g0301_0400/s0322_coin_change/Solution.java)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Breadth_First_Search, Big_O_Time_O(m\*n)_Space_O(amount) | 17 | 91.77 +| 0322 |[Coin Change](src/main/java/g0301_0400/s0322_coin_change/Solution.java)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Breadth_First_Search, Big_O_Time_O(m\*n)_Space_O(amount) | 12 | 92.59 #### Day 13 Dynamic Programming @@ -1567,7 +1567,7 @@ implementation 'com.github.javadev:leetcode-in-java:1.37' | | | | | | |-|-|-|-|-|- | 0121 |[Best Time to Buy and Sell Stock](src/main/java/g0101_0200/s0121_best_time_to_buy_and_sell_stock/Solution.java)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(N)_Space_O(1) | 1 | 99.78 -| 0283 |[Move Zeroes](src/main/java/g0201_0300/s0283_move_zeroes/Solution.java)| Easy | Top_100_Liked_Questions, Array, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 2 | 79.54 +| 0283 |[Move Zeroes](src/main/java/g0201_0300/s0283_move_zeroes/Solution.java)| Easy | Top_100_Liked_Questions, Array, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 2 | 83.99 | 0001 |[Two Sum](src/main/java/g0001_0100/s0001_two_sum/Solution.java)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Big_O_Time_O(n)_Space_O(n), AI_can_be_used_to_solve_the_task | 2 | 98.90 | 0217 |[Contains Duplicate](src/main/java/g0201_0300/s0217_contains_duplicate/Solution.java)| Easy | Top_Interview_Questions, Array, Hash_Table, Sorting | 6 | 96.68 | 0058 |[Length of Last Word](src/main/java/g0001_0100/s0058_length_of_last_word/Solution.java)| Easy | String | 0 | 100.00 @@ -1578,7 +1578,7 @@ implementation 'com.github.javadev:leetcode-in-java:1.37' | 0055 |[Jump Game](src/main/java/g0001_0100/s0055_jump_game/Solution.java)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) | 1 | 100.00 | 0075 |[Sort Colors](src/main/java/g0001_0100/s0075_sort_colors/Solution.java)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Two_Pointers, Big_O_Time_O(n)_Space_O(1) | 0 | 100.00 | 0066 |[Plus One](src/main/java/g0001_0100/s0066_plus_one/Solution.java)| Easy | Top_Interview_Questions, Array, Math | 0 | 100.00 -| 0238 |[Product of Array Except Self](src/main/java/g0201_0300/s0238_product_of_array_except_self/Solution.java)| Medium | Top_100_Liked_Questions, Array, Prefix_Sum, Big_O_Time_O(n^2)_Space_O(n) | 1 | 100.00 +| 0238 |[Product of Array Except Self](src/main/java/g0201_0300/s0238_product_of_array_except_self/Solution.java)| Medium | Top_100_Liked_Questions, Array, Prefix_Sum, Big_O_Time_O(n^2)_Space_O(n) | 1 | 99.66 | 1291 |[Sequential Digits](src/main/java/g1201_1300/s1291_sequential_digits/Solution.java)| Medium | Enumeration | 0 | 100.00 | 0448 |[Find All Numbers Disappeared in an Array](src/main/java/g0401_0500/s0448_find_all_numbers_disappeared_in_an_array/Solution.java)| Easy | Array, Hash_Table | 3 | 100.00 | 0442 |[Find All Duplicates in an Array](src/main/java/g0401_0500/s0442_find_all_duplicates_in_an_array/Solution.java)| Medium | Array, Hash_Table | 5 | 98.83 @@ -1589,7 +1589,7 @@ implementation 'com.github.javadev:leetcode-in-java:1.37' | 1007 |[Minimum Domino Rotations For Equal Row](src/main/java/g1001_1100/s1007_minimum_domino_rotations_for_equal_row/Solution.java)| Medium | Array, Greedy | 5 | 79.64 | 1306 |[Jump Game III](src/main/java/g1301_1400/s1306_jump_game_iii/Solution.java)| Medium | Array, Depth_First_Search, Breadth_First_Search | 2 | 96.23 | 0456 |[132 Pattern](src/main/java/g0401_0500/s0456_132_pattern/Solution.java)| Medium | Array, Binary_Search, Stack, Ordered_Set, Monotonic_Stack | 16 | 82.41 -| 0239 |[Sliding Window Maximum](src/main/java/g0201_0300/s0239_sliding_window_maximum/Solution.java)| Hard | Top_100_Liked_Questions, Array, Heap_Priority_Queue, Sliding_Window, Queue, Monotonic_Queue, Big_O_Time_O(n\*k)_Space_O(n+k) | 58 | 52.28 +| 0239 |[Sliding Window Maximum](src/main/java/g0201_0300/s0239_sliding_window_maximum/Solution.java)| Hard | Top_100_Liked_Questions, Array, Heap_Priority_Queue, Sliding_Window, Queue, Monotonic_Queue, Big_O_Time_O(n\*k)_Space_O(n+k) | 26 | 95.89 #### Udemy Two Pointers @@ -1642,7 +1642,7 @@ implementation 'com.github.javadev:leetcode-in-java:1.37' | 0206 |[Reverse Linked List](src/main/java/g0201_0300/s0206_reverse_linked_list/Solution.java)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(N)_Space_O(1) | 0 | 100.00 | 0021 |[Merge Two Sorted Lists](src/main/java/g0001_0100/s0021_merge_two_sorted_lists/Solution.java)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(m+n)_Space_O(m+n) | 0 | 100.00 | 0160 |[Intersection of Two Linked Lists](src/main/java/g0101_0200/s0160_intersection_of_two_linked_lists/Solution.java)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Hash_Table, Two_Pointers, Linked_List, Big_O_Time_O(M+N)_Space_O(1) | 1 | 99.92 -| 0234 |[Palindrome Linked List](src/main/java/g0201_0300/s0234_palindrome_linked_list/Solution.java)| Easy | Top_100_Liked_Questions, Two_Pointers, Stack, Linked_List, Recursion, Big_O_Time_O(n)_Space_O(1) | 6 | 76.07 +| 0234 |[Palindrome Linked List](src/main/java/g0201_0300/s0234_palindrome_linked_list/Solution.java)| Easy | Top_100_Liked_Questions, Two_Pointers, Stack, Linked_List, Recursion, Big_O_Time_O(n)_Space_O(1) | 4 | 84.46 | 0138 |[Copy List with Random Pointer](src/main/java/g0101_0200/s0138_copy_list_with_random_pointer/Solution.java)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Hash_Table, Linked_List, Big_O_Time_O(N)_Space_O(N) | 0 | 100.00 | 0025 |[Reverse Nodes in k-Group](src/main/java/g0001_0100/s0025_reverse_nodes_in_k_group/Solution.java)| Hard | Top_100_Liked_Questions, Linked_List, Recursion, Big_O_Time_O(n)_Space_O(k) | 0 | 100.00 | 0146 |[LRU Cache](src/main/java/g0101_0200/s0146_lru_cache/LRUCache.java)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Hash_Table, Design, Linked_List, Doubly_Linked_List, Big_O_Time_O(1)_Space_O(capacity) | 40 | 98.20 @@ -1671,7 +1671,7 @@ implementation 'com.github.javadev:leetcode-in-java:1.37' | 0124 |[Binary Tree Maximum Path Sum](src/main/java/g0101_0200/s0124_binary_tree_maximum_path_sum/Solution.java)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Depth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(N) | 0 | 100.00 | 0098 |[Validate Binary Search Tree](src/main/java/g0001_0100/s0098_validate_binary_search_tree/Solution.java)| 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)) | 0 | 100.00 | 0337 |[House Robber III](src/main/java/g0301_0400/s0337_house_robber_iii/Solution.java)| Medium | Dynamic_Programming, Depth_First_Search, Tree, Binary_Tree | 1 | 91.77 -| 0236 |[Lowest Common Ancestor of a Binary Tree](src/main/java/g0201_0300/s0236_lowest_common_ancestor_of_a_binary_tree/Solution.java)| Medium | Top_100_Liked_Questions, Depth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) | 10 | 56.51 +| 0236 |[Lowest Common Ancestor of a Binary Tree](src/main/java/g0201_0300/s0236_lowest_common_ancestor_of_a_binary_tree/Solution.java)| Medium | Top_100_Liked_Questions, Depth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) | 6 | 100.00 | 0968 |[Binary Tree Cameras](src/main/java/g0901_1000/s0968_binary_tree_cameras/Solution.java)| Hard | Dynamic_Programming, Depth_First_Search, Tree, Binary_Tree | 0 | 100.00 #### Udemy Trie and Heap @@ -1703,7 +1703,7 @@ implementation 'com.github.javadev:leetcode-in-java:1.37' | 0509 |[Fibonacci Number](src/main/java/g0501_0600/s0509_fibonacci_number/Solution.java)| Easy | Dynamic_Programming, Math, Recursion, Memoization | 0 | 100.00 | 0070 |[Climbing Stairs](src/main/java/g0001_0100/s0070_climbing_stairs/Solution.java)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Memoization, Big_O_Time_O(n)_Space_O(n) | 0 | 100.00 | 0064 |[Minimum Path Sum](src/main/java/g0001_0100/s0064_minimum_path_sum/Solution.java)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Matrix, Big_O_Time_O(m\*n)_Space_O(m\*n) | 1 | 99.73 -| 0300 |[Longest Increasing Subsequence](src/main/java/g0201_0300/s0300_longest_increasing_subsequence/Solution.java)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Binary_Search, Big_O_Time_O(n\*log_n)_Space_O(n) | 3 | 98.63 +| 0300 |[Longest Increasing Subsequence](src/main/java/g0201_0300/s0300_longest_increasing_subsequence/Solution.java)| Medium | Top_100_Liked_Questions, Array, Dynamic_Programming, Binary_Search, Big_O_Time_O(n\*log_n)_Space_O(n) | 3 | 95.75 | 1143 |[Longest Common Subsequence](src/main/java/g1101_1200/s1143_longest_common_subsequence/Solution.java)| Medium | Top_100_Liked_Questions, String, Dynamic_Programming, Big_O_Time_O(n\*m)_Space_O(n\*m) | 33 | 46.23 | 0072 |[Edit Distance](src/main/java/g0001_0100/s0072_edit_distance/Solution.java)| Medium | Top_100_Liked_Questions, String, Dynamic_Programming, Big_O_Time_O(n^2)_Space_O(n2) | 3 | 97.19 | 0044 |[Wildcard Matching](src/main/java/g0001_0100/s0044_wildcard_matching/Solution.java)| Hard | Top_Interview_Questions, String, Dynamic_Programming, Greedy, Recursion | 2 | 99.87 @@ -1729,7 +1729,7 @@ implementation 'com.github.javadev:leetcode-in-java:1.37' | 0190 |[Reverse Bits](src/main/java/g0101_0200/s0190_reverse_bits/Solution.java)| Easy | Top_Interview_Questions, Bit_Manipulation, Divide_and_Conquer | 1 | 98.66 | 0461 |[Hamming Distance](src/main/java/g0401_0500/s0461_hamming_distance/Solution.java)| Easy | Bit_Manipulation | 0 | 100.00 | 1009 |[Complement of Base 10 Integer](src/main/java/g1001_1100/s1009_complement_of_base_10_integer/Solution.java)| Easy | Bit_Manipulation | 1 | 41.56 -| 0338 |[Counting Bits](src/main/java/g0301_0400/s0338_counting_bits/Solution.java)| Easy | Dynamic_Programming, Bit_Manipulation, Big_O_Time_O(num)_Space_O(num) | 2 | 86.73 +| 0338 |[Counting Bits](src/main/java/g0301_0400/s0338_counting_bits/Solution.java)| Easy | Dynamic_Programming, Bit_Manipulation, Big_O_Time_O(num)_Space_O(num) | 2 | 96.37 | 0371 |[Sum of Two Integers](src/main/java/g0301_0400/s0371_sum_of_two_integers/Solution.java)| Medium | Math, Bit_Manipulation | 0 | 100.00 | 0029 |[Divide Two Integers](src/main/java/g0001_0100/s0029_divide_two_integers/Solution.java)| Medium | Top_Interview_Questions, Math, Bit_Manipulation | 1 | 97.44 diff --git a/src/main/java/g0201_0300/s0221_maximal_square/Solution.java b/src/main/java/g0201_0300/s0221_maximal_square/Solution.java index 5429a80df..97a286a23 100644 --- a/src/main/java/g0201_0300/s0221_maximal_square/Solution.java +++ b/src/main/java/g0201_0300/s0221_maximal_square/Solution.java @@ -1,7 +1,7 @@ package g0201_0300.s0221_maximal_square; // #Medium #Array #Dynamic_Programming #Matrix #Dynamic_Programming_I_Day_16 -// #Big_O_Time_O(m*n)_Space_O(m*n) #2022_07_04_Time_7_ms_(72.35%)_Space_59.5_MB_(10.55%) +// #Big_O_Time_O(m*n)_Space_O(m*n) #2024_11_16_Time_6_ms_(97.07%)_Space_60.3_MB_(39.55%) public class Solution { public int maximalSquare(char[][] matrix) { diff --git a/src/main/java/g0201_0300/s0226_invert_binary_tree/Solution.java b/src/main/java/g0201_0300/s0226_invert_binary_tree/Solution.java index a5fe94bab..0b36e7014 100644 --- a/src/main/java/g0201_0300/s0226_invert_binary_tree/Solution.java +++ b/src/main/java/g0201_0300/s0226_invert_binary_tree/Solution.java @@ -2,7 +2,7 @@ // #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) #2022_07_04_Time_0_ms_(100.00%)_Space_42_MB_(20.73%) +// #Big_O_Time_O(n)_Space_O(n) #2024_11_16_Time_0_ms_(100.00%)_Space_40.6_MB_(95.51%) import com_github_leetcode.TreeNode; diff --git a/src/main/java/g0201_0300/s0230_kth_smallest_element_in_a_bst/Solution.java b/src/main/java/g0201_0300/s0230_kth_smallest_element_in_a_bst/Solution.java index 3bd55fa53..61c399bf9 100644 --- a/src/main/java/g0201_0300/s0230_kth_smallest_element_in_a_bst/Solution.java +++ b/src/main/java/g0201_0300/s0230_kth_smallest_element_in_a_bst/Solution.java @@ -2,7 +2,7 @@ // #Medium #Top_100_Liked_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) -// #2022_07_04_Time_1_ms_(78.91%)_Space_45.3_MB_(58.87%) +// #2024_11_16_Time_0_ms_(100.00%)_Space_44.3_MB_(63.70%) import com_github_leetcode.TreeNode; diff --git a/src/main/java/g0201_0300/s0234_palindrome_linked_list/Solution.java b/src/main/java/g0201_0300/s0234_palindrome_linked_list/Solution.java index 970994712..b212b6d3a 100644 --- a/src/main/java/g0201_0300/s0234_palindrome_linked_list/Solution.java +++ b/src/main/java/g0201_0300/s0234_palindrome_linked_list/Solution.java @@ -2,7 +2,7 @@ // #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) -// #2022_07_04_Time_6_ms_(76.07%)_Space_97.6_MB_(56.14%) +// #2024_11_16_Time_4_ms_(84.46%)_Space_69_MB_(17.17%) import com_github_leetcode.ListNode; diff --git a/src/main/java/g0201_0300/s0236_lowest_common_ancestor_of_a_binary_tree/Solution.java b/src/main/java/g0201_0300/s0236_lowest_common_ancestor_of_a_binary_tree/Solution.java index 9152d275e..2ed0c2273 100644 --- a/src/main/java/g0201_0300/s0236_lowest_common_ancestor_of_a_binary_tree/Solution.java +++ b/src/main/java/g0201_0300/s0236_lowest_common_ancestor_of_a_binary_tree/Solution.java @@ -2,7 +2,7 @@ // #Medium #Top_100_Liked_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) -// #2022_07_04_Time_10_ms_(56.51%)_Space_47.4_MB_(45.84%) +// #2024_11_16_Time_6_ms_(100.00%)_Space_44_MB_(98.99%) import com_github_leetcode.TreeNode; diff --git a/src/main/java/g0201_0300/s0238_product_of_array_except_self/Solution.java b/src/main/java/g0201_0300/s0238_product_of_array_except_self/Solution.java index 7082314c7..805fd9157 100644 --- a/src/main/java/g0201_0300/s0238_product_of_array_except_self/Solution.java +++ b/src/main/java/g0201_0300/s0238_product_of_array_except_self/Solution.java @@ -1,28 +1,21 @@ package g0201_0300.s0238_product_of_array_except_self; // #Medium #Top_100_Liked_Questions #Array #Prefix_Sum #Data_Structure_II_Day_5_Array #Udemy_Arrays -// #Big_O_Time_O(n^2)_Space_O(n) #2022_07_04_Time_1_ms_(100.00%)_Space_50.8_MB_(85.60%) +// #Big_O_Time_O(n^2)_Space_O(n) #2024_11_16_Time_1_ms_(99.66%)_Space_55.1_MB_(79.02%) public class Solution { public int[] productExceptSelf(int[] nums) { - int product = 1; - int[] ans = new int[nums.length]; - for (int num : nums) { - product = product * num; - } + int[] res = new int[nums.length]; + int prefixProduct = 1; for (int i = 0; i < nums.length; i++) { - if (nums[i] != 0) { - ans[i] = product / nums[i]; - } else { - int p = 1; - for (int j = 0; j < nums.length; j++) { - if (j != i) { - p = p * nums[j]; - } - } - ans[i] = p; - } + res[i] = prefixProduct; + prefixProduct *= nums[i]; + } + int suffixProduct = 1; + for (int i = nums.length - 1; i >= 0; i--) { + res[i] *= suffixProduct; + suffixProduct *= nums[i]; } - return ans; + return res; } } diff --git a/src/main/java/g0201_0300/s0239_sliding_window_maximum/Solution.java b/src/main/java/g0201_0300/s0239_sliding_window_maximum/Solution.java index 1c21336bb..0be6c1834 100644 --- a/src/main/java/g0201_0300/s0239_sliding_window_maximum/Solution.java +++ b/src/main/java/g0201_0300/s0239_sliding_window_maximum/Solution.java @@ -2,7 +2,7 @@ // #Hard #Top_100_Liked_Questions #Array #Heap_Priority_Queue #Sliding_Window #Queue // #Monotonic_Queue #Udemy_Arrays #Big_O_Time_O(n*k)_Space_O(n+k) -// #2022_07_04_Time_58_ms_(52.28%)_Space_145_MB_(50.60%) +// #2024_11_16_Time_26_ms_(95.89%)_Space_59.6_MB_(38.70%) import java.util.LinkedList; diff --git a/src/main/java/g0201_0300/s0240_search_a_2d_matrix_ii/Solution.java b/src/main/java/g0201_0300/s0240_search_a_2d_matrix_ii/Solution.java index 16f544693..24f96fa09 100644 --- a/src/main/java/g0201_0300/s0240_search_a_2d_matrix_ii/Solution.java +++ b/src/main/java/g0201_0300/s0240_search_a_2d_matrix_ii/Solution.java @@ -2,7 +2,7 @@ // #Medium #Top_100_Liked_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) -// #2022_07_04_Time_7_ms_(86.73%)_Space_58.4_MB_(9.95%) +// #2024_11_16_Time_5_ms_(99.92%)_Space_45.8_MB_(60.21%) public class Solution { public boolean searchMatrix(int[][] matrix, int target) { diff --git a/src/main/java/g0201_0300/s0283_move_zeroes/Solution.java b/src/main/java/g0201_0300/s0283_move_zeroes/Solution.java index e245bced2..0f66fdb10 100644 --- a/src/main/java/g0201_0300/s0283_move_zeroes/Solution.java +++ b/src/main/java/g0201_0300/s0283_move_zeroes/Solution.java @@ -2,7 +2,7 @@ // #Easy #Top_100_Liked_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) -// #2022_07_06_Time_2_ms_(79.54%)_Space_55.7_MB_(5.98%) +// #2024_11_16_Time_2_ms_(83.99%)_Space_45.9_MB_(50.99%) public class Solution { public void moveZeroes(int[] nums) { diff --git a/src/main/java/g0201_0300/s0287_find_the_duplicate_number/Solution.java b/src/main/java/g0201_0300/s0287_find_the_duplicate_number/Solution.java index 15313bfa9..494072cb5 100644 --- a/src/main/java/g0201_0300/s0287_find_the_duplicate_number/Solution.java +++ b/src/main/java/g0201_0300/s0287_find_the_duplicate_number/Solution.java @@ -2,7 +2,7 @@ // #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) -// #2022_07_06_Time_2_ms_(99.82%)_Space_61.1_MB_(83.92%) +// #2024_11_16_Time_2_ms_(97.52%)_Space_59.9_MB_(5.22%) public class Solution { public int findDuplicate(int[] nums) { diff --git a/src/main/java/g0201_0300/s0295_find_median_from_data_stream/MedianFinder.java b/src/main/java/g0201_0300/s0295_find_median_from_data_stream/MedianFinder.java index 77f940a33..d19bf1218 100644 --- a/src/main/java/g0201_0300/s0295_find_median_from_data_stream/MedianFinder.java +++ b/src/main/java/g0201_0300/s0295_find_median_from_data_stream/MedianFinder.java @@ -1,7 +1,7 @@ package g0201_0300.s0295_find_median_from_data_stream; // #Hard #Top_100_Liked_Questions #Sorting #Two_Pointers #Design #Heap_Priority_Queue #Data_Stream -// #Big_O_Time_O(n*log_n)_Space_O(n) #2022_07_06_Time_151_ms_(80.24%)_Space_125.2_MB_(44.11%) +// #Big_O_Time_O(n*log_n)_Space_O(n) #2024_11_16_Time_83_ms_(99.56%)_Space_63.4_MB_(77.85%) import java.util.PriorityQueue; diff --git a/src/main/java/g0201_0300/s0300_longest_increasing_subsequence/Solution.java b/src/main/java/g0201_0300/s0300_longest_increasing_subsequence/Solution.java index f3f08143d..0e6b42e8c 100644 --- a/src/main/java/g0201_0300/s0300_longest_increasing_subsequence/Solution.java +++ b/src/main/java/g0201_0300/s0300_longest_increasing_subsequence/Solution.java @@ -3,7 +3,7 @@ // #Medium #Top_100_Liked_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) -// #2022_07_06_Time_3_ms_(98.63%)_Space_44.3_MB_(60.27%) +// #2024_11_16_Time_3_ms_(95.75%)_Space_43.7_MB_(93.58%) public class Solution { public int lengthOfLIS(int[] nums) { diff --git a/src/main/java/g0301_0400/s0322_coin_change/Solution.java b/src/main/java/g0301_0400/s0322_coin_change/Solution.java index 08ed75c38..a338bc329 100644 --- a/src/main/java/g0301_0400/s0322_coin_change/Solution.java +++ b/src/main/java/g0301_0400/s0322_coin_change/Solution.java @@ -3,7 +3,7 @@ // #Medium #Top_100_Liked_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) -// #2022_07_09_Time_17_ms_(91.77%)_Space_41.8_MB_(95.50%) +// #2024_11_16_Time_12_ms_(92.59%)_Space_44.3_MB_(64.02%) public class Solution { public int coinChange(int[] coins, int amount) { diff --git a/src/main/java/g0301_0400/s0338_counting_bits/Solution.java b/src/main/java/g0301_0400/s0338_counting_bits/Solution.java index b8020d5f9..1c7d258e0 100644 --- a/src/main/java/g0301_0400/s0338_counting_bits/Solution.java +++ b/src/main/java/g0301_0400/s0338_counting_bits/Solution.java @@ -1,7 +1,7 @@ package g0301_0400.s0338_counting_bits; // #Easy #Dynamic_Programming #Bit_Manipulation #Udemy_Bit_Manipulation -// #Big_O_Time_O(num)_Space_O(num) #2022_07_10_Time_2_ms_(86.73%)_Space_48.3_MB_(31.59%) +// #Big_O_Time_O(num)_Space_O(num) #2024_11_16_Time_2_ms_(96.37%)_Space_46.4_MB_(70.53%) public class Solution { public int[] countBits(int num) {