From 5c6c6ebb68cf2a19a6a0478fa8f7b529d83f25a6 Mon Sep 17 00:00:00 2001 From: fartem Date: Mon, 10 Feb 2025 08:16:41 +0300 Subject: [PATCH] 2025-02-10 v. 8.4.9: added "1343. Number of Sub-arrays of Size K and Average Greater than or Equal to Threshold" --- README.md | 465 +++++++++--------- leetcode-ruby.gemspec | 2 +- ...rage_greater_than_or_equal_to_threshold.rb | 28 ++ ...rage_greater_than_or_equal_to_threshold.rb | 29 ++ 4 files changed, 291 insertions(+), 233 deletions(-) create mode 100644 lib/medium/1343_number_of_sub_arrays_of_size_k_and_average_greater_than_or_equal_to_threshold.rb create mode 100644 test/medium/test_1343_number_of_sub_arrays_of_size_k_and_average_greater_than_or_equal_to_threshold.rb diff --git a/README.md b/README.md index 06780eca..30e6a7db 100644 --- a/README.md +++ b/README.md @@ -456,238 +456,239 @@ Profile on LeetCode: [fartem](https://leetcode.com/fartem/). ### Medium -| Name | Link to LeetCode | Link to solution | Link to tests | -| ---------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | -| 2. Add Two Numbers | [Link](https://leetcode.com/problems/add-two-numbers/) | [Link](./lib/medium/2_add_two_numbers.rb) | [Link](./test/medium/test_2_add_two_numbers.rb) | -| 3. Longest Substring Without Repeating Characters | [Link](https://leetcode.com/problems/longest-substring-without-repeating-characters/) | [Link](./lib/medium/3_longest_substring_without_repeating_characters.rb) | [Link](./test/medium/test_3_longest_substring_without_repeating_characters.rb) | -| 5. Longest Palindromic Substring | [Link](https://leetcode.com/problems/longest-palindromic-substring/) | [Link](./lib/medium/5_longest_palindromic_substring.rb) | [Link](./test/medium/test_5_longest_palindromic_substring.rb) | -| 7. Reverse Integer | [Link](https://leetcode.com/problems/reverse-integer/) | [Link](./lib/medium/7_reverse_integer.rb) | [Link](./test/medium/test_7_reverse_integer.rb) | -| 8. String to Integer (atoi) | [Link](https://leetcode.com/problems/string-to-integer-atoi/) | [Link](./lib/medium/8_string_to_integer_atoi.rb) | [Link](./test/medium/test_8_string_to_integer_atoi.rb) | -| 11. Container With Most Water | [Link](https://leetcode.com/problems/container-with-most-water/) | [Link](./lib/medium/11_container_with_most_water.rb) | [Link](./test/medium/test_11_container_with_most_water.rb) | -| 12. Integer to Roman | [Link](https://leetcode.com/problems/integer-to-roman/) | [Link](./lib/medium/12_integer_to_roman.rb) | [Link](./test/medium/test_12_integer_to_roman.rb) | -| 15. 3Sum | [Link](https://leetcode.com/problems/3sum/) | [Link](./lib/medium/15_3sum.rb) | [Link](./test/medium/test_15_3sum.rb) | -| 16. 3Sum Closest | [Link](https://leetcode.com/problems/3sum-closest/) | [Link](./lib/medium/16_3sum_closest.rb) | [Link](./test/medium/test_16_3sum_closest.rb) | -| 17. Letter Combinations of a Phone Number | [Link](https://leetcode.com/problems/letter-combinations-of-a-phone-number/) | [Link](./lib/medium/17_letter_combinations_of_a_phone_number.rb) | [Link](./test/medium/test_17_letter_combinations_of_a_phone_number.rb) | -| 19. Remove Nth Node From End of List | [Link](https://leetcode.com/problems/remove-nth-node-from-end-of-list/) | [Link](./lib/medium/19_remove_nth_node_from_end_of_list.rb) | [Link](./test/medium/test_19_remove_nth_node_from_end_of_list.rb) | -| 22. Generate Parentheses | [Link](https://leetcode.com/problems/generate-parentheses/) | [Link](./lib/medium/22_generate_parentheses.rb) | [Link](./test/medium/test_22_generate_parentheses.rb) | -| 24. Swap Nodes in Pairs | [Link](https://leetcode.com/problems/swap-nodes-in-pairs/) | [Link](./lib/medium/24_swap_nodes_in_pairs.rb) | [Link](./test/medium/test_24_swap_nodes_in_pairs.rb) | -| 29. Divide Two Integers | [Link](https://leetcode.com/problems/divide-two-integers/) | [Link](./lib/medium/29_divide_two_integers.rb) | [Link](./test/medium/test_29_divide_two_integers.rb) | -| 33. Search in Rotated Sorted Array | [Link](https://leetcode.com/problems/search-in-rotated-sorted-array/) | [Link](./lib/medium/33_search_in_rotated_sorted_array.rb) | [Link](./test/medium/test_33_search_in_rotated_sorted_array.rb) | -| 34. Find First and Last Position of Element in Sorted Array | [Link](https://leetcode.com/problems/find-first-and-last-position-of-element-in-sorted-array/) | [Link](./lib/medium/34_find_first_and_last_position_of_element_in_sorted_array.rb) | [Link](./test/medium/test_34_find_first_and_last_position_of_element_in_sorted_array.rb) | -| 36. Valid Sudoku | [Link](https://leetcode.com/problems/valid-sudoku/) | [Link](./lib/medium/36_valid_sudoku.rb) | [Link](./test/medium/test_36_valid_sudoku.rb) | -| 38. Count and Say | [Link](https://leetcode.com/problems/count-and-say/) | [Link](./lib/medium/38_count_and_say.rb) | [Link](./test/medium/test_38_count_and_say.rb) | -| 39. Combination Sum | [Link](https://leetcode.com/problems/combination-sum/) | [Link](./lib/medium/39_combination_sum.rb) | [Link](./test/medium/test_39_combination_sum.rb) | -| 43. Multiply Strings | [Link](https://leetcode.com/problems/multiply-strings/) | [Link](./lib/medium/43_multiply_strings.rb) | [Link](./test/medium/test_43_multiply_strings.rb) | -| 46. Permutations | [Link](https://leetcode.com/problems/permutations/) | [Link](./lib/medium/46_permutations.rb) | [Link](./test/medium/test_46_permutations.rb) | -| 48. Rotate Image | [Link](https://leetcode.com/problems/rotate-image/) | [Link](./lib/medium/48_rotate_image.rb) | [Link](./test/medium/test_48_rotate_image.rb) | -| 49. Group Anagrams | [Link](https://leetcode.com/problems/group-anagrams/) | [Link](./lib/medium/49_group_anagrams.rb) | [Link](./test/medium/test_49_group_anagrams.rb) | -| 53. Maximum Subarray | [Link](https://leetcode.com/problems/maximum-subarray/) | [Link](./lib/medium/53_maximum_subarray.rb) | [Link](./test/medium/test_53_maximum_subarray.rb) | -| 54. Spiral Matrix | [Link](https://leetcode.com/problems/spiral-matrix/) | [Link](./lib/medium/54_spiral_matrix.rb) | [Link](./test/medium/test_54_spiral_matrix.rb) | -| 55. Jump Game | [Link](https://leetcode.com/problems/jump-game/) | [Link](./lib/medium/55_jump_game.rb) | [Link](./test/medium/test_55_jump_game.rb) | -| 56. Merge Intervals | [Link](https://leetcode.com/problems/merge-intervals/) | [Link](./lib/medium/56_merge_intervals.rb) | [Link](./test/medium/test_56_merge_intervals.rb) | -| 57. Insert Interval | [Link](https://leetcode.com/problems/insert-interval/) | [Link](./lib/medium/57_insert_interval.rb) | [Link](./test/medium/test_57_insert_interval.rb) | -| 59. Spiral Matrix II | [Link](https://leetcode.com/problems/spiral-matrix-ii/) | [Link](./lib/medium/59_spiral_matrix_ii.rb) | [Link](./test/medium/test_59_spiral_matrix_ii.rb) | -| 61. Rotate List | [Link](https://leetcode.com/problems/rotate-list/) | [Link](./lib/medium/61_rotate_list.rb) | [Link](./test/medium/test_61_rotate_list.rb) | -| 62. Unique Paths | [Link](https://leetcode.com/problems/unique-paths/) | [Link](./lib/medium/62_unique_paths.rb) | [Link](./test/medium/test_62_unique_paths.rb) | -| 71. Simplify Path | [Link](https://leetcode.com/problems/simplify-path/) | [Link](./lib/medium/71_simplify_path.rb) | [Link](./test/medium/test_71_simplify_path.rb) | -| 74. Search a 2D Matrix | [Link](https://leetcode.com/problems/search-a-2d-matrix/) | [Link](./lib/medium/74_search_a_2d_matrix.rb) | [Link](./test/medium/test_74_search_a_2d_matrix.rb) | -| 75. Sort Colors | [Link](https://leetcode.com/problems/sort-colors/) | [Link](./lib/medium/75_sort_colors.rb) | [Link](./test/medium/test_75_sort_colors.rb) | -| 78. Subsets | [Link](https://leetcode.com/problems/subsets/) | [Link](./lib/medium/78_subsets.rb) | [Link](./test/medium/test_78_subsets.rb) | -| 82. Remove Duplicates from Sorted List II | [Link](https://leetcode.com/problems/remove-duplicates-from-sorted-list-ii/) | [Link](./lib/medium/82_remove_duplicates_from_sorted_list_ii.rb) | [Link](./test/medium/test_82_remove_duplicates_from_sorted_list_ii.rb) | -| 86. Partition List | [Link](https://leetcode.com/problems/partition-list/) | [Link](./lib/medium/86_partition_list.rb) | [Link](./test/medium/test_86_partition_list.rb) | -| 92. Reverse Linked List II | [Link](https://leetcode.com/problems/reverse-linked-list-ii/) | [Link](./lib/medium/92_reverse_linked_list_ii.rb) | [Link](./test/medium/test_92_reverse_linked_list_ii.rb) | -| 95. Unique Binary Search Trees II | [Link](https://leetcode.com/problems/unique-binary-search-trees-ii/) | [Link](./lib/medium/95_unique_binary_search_trees_ii.rb) | [Link](./test/medium/test_95_unique_binary_search_trees_ii.rb) | -| 96. Unique Binary Search Trees | [Link](https://leetcode.com/problems/unique-binary-search-trees/) | [Link](./lib/medium/96_unique_binary_search_trees.rb) | [Link](./test/medium/test_96_unique_binary_search_trees.rb) | -| 98. Validate Binary Search Tree | [Link](https://leetcode.com/problems/validate-binary-search-tree/) | [Link](./lib/medium/98_validate_binary_search_tree.rb) | [Link](./test/medium/test_98_validate_binary_search_tree.rb) | -| 99. Recover Binary Search Tree | [Link](https://leetcode.com/problems/recover-binary-search-tree/) | [Link](./lib/medium/99_recover_binary_search_tree.rb) | [Link](./test/medium/test_99_recover_binary_search_tree.rb) | -| 102. Binary Tree Level Order Traversal | [Link](https://leetcode.com/problems/binary-tree-level-order-traversal/) | [Link](./lib/medium/102_binary_tree_level_order_traversal.rb) | [Link](./test/medium/test_102_binary_tree_level_order_traversal.rb) | -| 103. Binary Tree Zigzag Level Order Traversal | [Link](https://leetcode.com/problems/binary-tree-zigzag-level-order-traversal/) | [Link](./lib/medium/103_binary_tree_zigzag_level_order_traversal.rb) | [Link](./test/medium/test_103_binary_tree_zigzag_level_order_traversal.rb) | -| 105. Construct Binary Tree from Preorder and Inorder Traversal | [Link](https://leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/) | [Link](./lib/medium/105_construct_binary_tree_from_preorder_and_inorder_traversal.rb) | [Link](./test/medium/test_105_construct_binary_tree_from_preorder_and_inorder_traversal.rb) | -| 106. Construct Binary Tree from Inorder and Postorder Traversal | [Link](https://leetcode.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal/) | [Link](./lib/medium/106_construct_binary_tree_from_inorder_and_postorder_traversal.rb) | [Link](./test/medium/test_106_construct_binary_tree_from_inorder_and_postorder_traversal.rb) | -| 107. Binary Tree Level Order Traversal II | [Link](https://leetcode.com/problems/binary-tree-level-order-traversal-ii/) | [Link](./lib/medium/107_binary_tree_level_order_traversal_ii.rb) | [Link](./test/medium/test_107_binary_tree_level_order_traversal_ii.rb) | -| 109. Convert Sorted List to Binary Search Tree | [Link](https://leetcode.com/problems/convert-sorted-list-to-binary-search-tree/) | [Link](./lib/medium/109_convert_sorted_list_to_binary_search_tree.rb) | [Link](./test/medium/test_109_convert_sorted_list_to_binary_search_tree.rb) | -| 113. Path Sum II | [Link](https://leetcode.com/problems/path-sum-ii/) | [Link](./lib/medium/113_path_sum_ii.rb) | [Link](./test/medium/test_113_path_sum_ii.rb) | -| 114. Flatten Binary Tree to Linked List | [Link](https://leetcode.com/problems/flatten-binary-tree-to-linked-list/) | [Link](./lib/medium/114_flatten_binary_tree_to_linked_list.rb) | [Link](./test/medium/test_114_flatten_binary_tree_to_linked_list.rb) | -| 116. Populating Next Right Pointers in Each Node | [Link](https://leetcode.com/problems/populating-next-right-pointers-in-each-node/) | [Link](./lib/medium/116_populating_next_right_pointers_in_each_node.rb) | [Link](./test/medium/test_116_populating_next_right_pointers_in_each_node.rb) | -| 117. Populating Next Right Pointers in Each Node II | [Link](https://leetcode.com/problems/populating-next-right-pointers-in-each-node-ii/) | [Link](./lib/medium/117_populating_next_right_pointers_in_each_node_ii.rb) | [Link](./test/medium/test_117_populating_next_right_pointers_in_each_node_ii.rb) | -| 120. Triangle | [Link](https://leetcode.com/problems/triangle/) | [Link](./lib/medium/120_triangle.rb) | [Link](./test/medium/test_120_triangle.rb) | -| 128. Longest Consecutive Sequence | [Link](https://leetcode.com/problems/longest-consecutive-sequence/) | [Link](./lib/medium/128_longest_consecutive_sequence.rb) | [Link](./test/medium/test_128_longest_consecutive_sequence.rb) | -| 129. Sum Root to Leaf Numbers | [Link](https://leetcode.com/problems/sum-root-to-leaf-numbers/) | [Link](./lib/medium/129_sum_root_to_leaf_numbers.rb) | [Link](./test/medium/test_129_sum_root_to_leaf_numbers.rb) | -| 133. Clone Graph | [Link](https://leetcode.com/problems/clone-graph/) | [Link](./lib/medium/133_clone_graph.rb) | [Link](./test/medium/test_133_clone_graph.rb) | -| 134. Gas Station | [Link](https://leetcode.com/problems/gas-station/) | [Link](./lib/medium/134_gas_station.rb) | [Link](./test/medium/test_134_gas_station.rb) | -| 138. Copy List with Random Pointer | [Link](https://leetcode.com/problems/copy-list-with-random-pointer/) | [Link](./lib/medium/138_copy_list_with_random_pointer.rb) | [Link](./test/medium/test_138_copy_list_with_random_pointer.rb) | -| 142. Linked List Cycle II | [Link](https://leetcode.com/problems/linked-list-cycle-ii/) | [Link](./lib/medium/142_linked_list_cycle_ii.rb) | [Link](./test/medium/test_142_linked_list_cycle_ii.rb) | -| 143. Reorder List | [Link](https://leetcode.com/problems/reorder-list/) | [Link](./lib/medium/143_reorder_list.rb) | [Link](./test/medium/test_143_reorder_list.rb) | -| 146. LRU Cache | [Link](https://leetcode.com/problems/lru-cache/) | [Link](./lib/medium/146_lru_cache.rb) | [Link](./test/medium/test_146_lru_cache.rb) | -| 147. Insertion Sort List | [Link](https://leetcode.com/problems/insertion-sort-list/) | [Link](./lib/medium/147_insertion_sort_list.rb) | [Link](./test/medium/test_147_insertion_sort_list.rb) | -| 148. Sort List | [Link](https://leetcode.com/problems/sort-list/) | [Link](./lib/medium/148_sort_list.rb) | [Link](./test/medium/test_148_sort_list.rb) | -| 150. Evaluate Reverse Polish Notation | [Link](https://leetcode.com/problems/evaluate-reverse-polish-notation/) | [Link](./lib/medium/150_evaluate_reverse_polish_notation.rb) | [Link](./test/medium/test_150_evaluate_reverse_polish_notation.rb) | -| 151. Reverse Words in a String | [Link](https://leetcode.com/problems/reverse-words-in-a-string/) | [Link](./lib/medium/151_reverse_words_in_a_string.rb) | [Link](./test/medium/test_151_reverse_words_in_a_string.rb) | -| 155. Min Stack | [Link](https://leetcode.com/problems/min-stack/) | [Link](./lib/medium/155_min_stack.rb) | [Link](./test/medium/test_155_min_stack.rb) | -| 165. Compare Version Numbers | [Link](https://leetcode.com/problems/compare-version-numbers/) | [Link](./lib/medium/165_compare_version_numbers.rb) | [Link](./test/medium/test_165_compare_version_numbers.rb) | -| 167. Two Sum II - Input Array Is Sorted | [Link](https://leetcode.com/problems/two-sum-ii-input-array-is-sorted/) | [Link](./lib/medium/167_two_sum_ii_input_array_is_sorted.rb) | [Link](./test/medium/test_167_two_sum_ii_input_array_is_sorted.rb) | -| 173. Binary Search Tree Iterator | [Link](https://leetcode.com/problems/binary-search-tree-iterator/) | [Link](./lib/medium/173_binary_search_tree_iterator.rb) | [Link](./test/medium/test_173_binary_search_tree_iterator.rb) | -| 179. Largest Number | [Link](https://leetcode.com/problems/largest-number/) | [Link](./lib/medium/179_largest_number.rb) | [Link](./test/medium/test_179_largest_number.rb) | -| 187. Repeated DNA Sequences | [Link](https://leetcode.com/problems/repeated-dna-sequences/) | [Link](./lib/medium/187_repeated_dna_sequences.rb) | [Link](./test/medium/test_187_repeated_dna_sequences.rb) | -| 189. Rotate Array | [Link](https://leetcode.com/problems/rotate-array/) | [Link](./lib/medium/189_rotate_array.rb) | [Link](./test/medium/test_189_rotate_array.rb) | -| 199. Binary Tree Right Side View | [Link](https://leetcode.com/problems/binary-tree-right-side-view/) | [Link](./lib/medium/199_binary_tree_right_side_view.rb) | [Link](./test/medium/test_199_binary_tree_right_side_view.rb) | -| 200. Number of Islands | [Link](https://leetcode.com/problems/number-of-islands/) | [Link](./lib/medium/200_number_of_islands.rb) | [Link](./test/medium/test_200_number_of_islands.rb) | -| 204. Count Primes | [Link](https://leetcode.com/problems/count-primes/) | [Link](./lib/medium/204_count_primes.rb) | [Link](./test/medium/test_204_count_primes.rb) | -| 208. Implement Trie (Prefix Tree) | [Link](https://leetcode.com/problems/implement-trie-prefix-tree/) | [Link](./lib/medium/208_implement_trie_prefix_tree.rb) | [Link](./test/medium/test_208_implement_trie_prefix_tree.rb) | -| 209. Minimum Size Subarray Sum | [Link](https://leetcode.com/problems/minimum-size-subarray-sum/) | [Link](./lib/medium/209_minimum_size_subarray_sum.rb) | [Link](./test/medium/test_209_minimum_size_subarray_sum.rb) | -| 215. Kth Largest Element in an Array | [Link](https://leetcode.com/problems/kth-largest-element-in-an-array/) | [Link](./lib/medium/215_kth_largest_element_in_an_array.rb) | [Link](./test/medium/test_215_kth_largest_element_in_an_array.rb) | -| 227. Basic Calculator II | [Link](https://leetcode.com/problems/basic-calculator-ii/) | [Link](./lib/medium/227_basic_calculator_ii.rb) | [Link](./test/medium/test_227_basic_calculator_ii.rb) | -| 230. Kth Smallest Element in a BST | [Link](https://leetcode.com/problems/kth-smallest-element-in-a-bst/) | [Link](./lib/medium/230_kth_smallest_element_in_a_bst.rb) | [Link](./test/medium/test_230_kth_smallest_element_in_a_bst.rb) | -| 235. Lowest Common Ancestor of a Binary Search Tree | [Link](https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-search-tree/) | [Link](./lib/medium/235_lowest_common_ancestor_of_a_binary_search_tree.rb) | [Link](./test/medium/test_235_lowest_common_ancestor_of_a_binary_search_tree.rb) | -| 236. Lowest Common Ancestor of a Binary Tree | [Link](https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree/) | [Link](./lib/medium/236_lowest_common_ancestor_of_a_binary_tree.rb) | [Link](./test/medium/test_236_lowest_common_ancestor_of_a_binary_tree.rb) | -| 237. Delete Node in a Linked List | [Link](https://leetcode.com/problems/delete-node-in-a-linked-list/) | [Link](./lib/medium/237_delete_node_in_a_linked_list.rb) | [Link](./test/medium/test_237_delete_node_in_a_linked_list.rb) | -| 238. Product of Array Except Self | [Link](https://leetcode.com/problems/product-of-array-except-self/) | [Link](./lib/medium/238_product_of_array_except_self.rb) | [Link](./test/medium/test_238_product_of_array_except_self.rb) | -| 240. Search a 2D Matrix II | [Link](https://leetcode.com/problems/search-a-2d-matrix-ii/) | [Link](./lib/medium/240_search_a_2d_matrix_ii.rb) | [Link](./test/medium/test_240_search_a_2d_matrix_ii.rb) | -| 284. Peeking Iterator | [Link](https://leetcode.com/problems/peeking-iterator/) | [Link](./lib/medium/284_peeking_iterator.rb) | [Link](./test/medium/test_284_peeking_iterator.rb) | -| 287. Find the Duplicate Number | [Link](https://leetcode.com/problems/find-the-duplicate-number/) | [Link](./lib/medium/287_find_the_duplicate_number.rb) | [Link](./test/medium/test_287_find_the_duplicate_number.rb) | -| 299. Bulls and Cows | [Link](https://leetcode.com/problems/bulls-and-cows/) | [Link](./lib/medium/299_bulls_and_cows.rb) | [Link](./test/medium/test_299_bulls_and_cows.rb) | -| 300. Longest Increasing Subsequence | [Link](https://leetcode.com/problems/longest-increasing-subsequence/) | [Link](./lib/medium/300_longest_increasing_subsequence.rb) | [Link](./test/medium/test_300_longest_increasing_subsequence.rb) | -| 304. Range Sum Query 2D - Immutable | [Link](https://leetcode.com/problems/range-sum-query-2d-immutable/) | [Link](./lib/medium/304_range_sum_query_2d_immutable.rb) | [Link](./test/medium/test_304_range_sum_query_2d_immutable.rb) | -| 316. Remove Duplicate Letters | [Link](https://leetcode.com/problems/remove-duplicate-letters/) | [Link](./lib/medium/316_remove_duplicate_letters.rb) | [Link](./test/medium/test_316_remove_duplicate_letters.rb) | -| 318. Maximum Product of Word Lengths | [Link](https://leetcode.com/problems/maximum-product-of-word-lengths/) | [Link](./lib/medium/318_maximum_product_of_word_lengths.rb) | [Link](./test/medium/test_318_maximum_product_of_word_lengths.rb) | -| 328. Odd Even Linked List | [Link](https://leetcode.com/problems/odd-even-linked-list/) | [Link](./lib/medium/328_odd_even_linked_list.rb) | [Link](./test/medium/test_328_odd_even_linked_list.rb) | -| 331. Verify Preorder Serialization of a Binary Tree | [Link](https://leetcode.com/problems/verify-preorder-serialization-of-a-binary-tree/) | [Link](./lib/medium/331_verify_preorder_serialization_of_a_binary_tree.rb) | [Link](./test/medium/test_331_verify_preorder_serialization_of_a_binary_tree.rb) | -| 334. Increasing Triplet Subsequence | [Link](https://leetcode.com/problems/increasing-triplet-subsequence/) | [Link](./lib/medium/334_increasing_triplet_subsequence.rb) | [Link](./test/medium/test_334_increasing_triplet_subsequence.rb) | -| 341. Flatten Nested List Iterator | [Link](https://leetcode.com/problems/flatten-nested-list-iterator/) | [Link](./lib/medium/341_flatten_nested_list_iterator.rb) | [Link](./test/medium/test_341_flatten_nested_list_iterator.rb) | -| 347. Top K Frequent Elements | [Link](https://leetcode.com/problems/top-k-frequent-elements/) | [Link](./lib/medium/347_top_k_frequent_elements.rb) | [Link](./test/medium/test_347_top_k_frequent_elements.rb) | -| 371. Sum of Two Integers | [Link](https://leetcode.com/problems/sum-of-two-integers/) | [Link](./lib/medium/371_sum_of_two_integers.rb) | [Link](./test/medium/test_371_sum_of_two_integers.rb) | -| 377. Combination Sum IV | [Link](https://leetcode.com/problems/combination-sum-iv/) | [Link](./lib/medium/377_combination_sum_iv.rb) | [Link](./test/medium/test_377_combination_sum_iv.rb) | -| 378. Kth Smallest Element in a Sorted Matrix | [Link](https://leetcode.com/problems/kth-smallest-element-in-a-sorted-matrix/) | [Link](./lib/medium/378_kth_smallest_element_in_a_sorted_matrix.rb) | [Link](./test/medium/test_378_kth_smallest_element_in_a_sorted_matrix.rb) | -| 380. Insert Delete GetRandom O(1) | [Link](https://leetcode.com/problems/insert-delete-getrandom-o1/) | [Link](./lib/medium/380_insert_delete_getrandom_o1.rb) | [Link](./test/medium/test_380_insert_delete_getrandom_o1.rb) | -| 382. Linked List Random Node | [Link](https://leetcode.com/problems/linked-list-random-node/) | [Link](./lib/medium/382_linked_list_random_node.rb) | [Link](./test/medium/test_382_linked_list_random_node.rb) | -| 388. Longest Absolute File Path | [Link](https://leetcode.com/problems/longest-absolute-file-path/) | [Link](./lib/medium/388_longest_absolute_file_path.rb) | [Link](./test/medium/test_388_longest_absolute_file_path.rb) | -| 394. Decode String | [Link](https://leetcode.com/problems/decode-string/) | [Link](./lib/medium/394_decode_string.rb) | [Link](./test/medium/test_394_decode_string.rb) | -| 398. Random Pick Index | [Link](https://leetcode.com/problems/random-pick-index/) | [Link](./lib/medium/398_random_pick_index.rb) | [Link](./test/medium/test_398_random_pick_index.rb) | -| 400. Nth Digit | [Link](https://leetcode.com/problems/nth-digit/) | [Link](./lib/medium/400_nth_digit.rb) | [Link](./test/medium/test_400_nth_digit.rb) | -| 402. Remove K Digits | [Link](https://leetcode.com/problems/remove-k-digits/) | [Link](./lib/medium/402_remove_k_digits.rb) | [Link](./test/medium/test_402_remove_k_digits.rb) | -| 417. Pacific Atlantic Water Flow | [Link](https://leetcode.com/problems/pacific-atlantic-water-flow/) | [Link](./lib/medium/417_pacific_atlantic_water_flow.rb) | [Link](./test/medium/test_417_pacific_atlantic_water_flow.rb) | -| 424. Longest Repeating Character Replacement | [Link](https://leetcode.com/problems/longest-repeating-character-replacement/) | [Link](./lib/medium/424_longest_repeating_character_replacement.rb) | [Link](./test/medium/test_424_longest_repeating_character_replacement.rb) | -| 429. N-ary Tree Level Order Traversal | [Link](https://leetcode.com/problems/n-ary-tree-level-order-traversal/) | [Link](./lib/medium/429_n_ary_tree_level_order_traversal.rb) | [Link](./test/medium/test_429_n_ary_tree_level_order_traversal.rb) | -| 435. Non-overlapping Intervals | [Link](https://leetcode.com/problems/non-overlapping-intervals/) | [Link](./lib/medium/435_non_overlapping_intervals.rb) | [Link](./test/medium/test_435_non_overlapping_intervals.rb) | -| 437. Path Sum III | [Link](https://leetcode.com/problems/path-sum-iii/) | [Link](./lib/medium/437_path_sum_iii.rb) | [Link](./test/medium/test_437_path_sum_iii.rb) | -| 438. Find All Anagrams in a String | [Link](https://leetcode.com/problems/find-all-anagrams-in-a-string/) | [Link](./lib/medium/438_find_all_anagrams_in_a_string.rb) | [Link](./test/medium/test_438_find_all_anagrams_in_a_string.rb) | -| 442. Find All Duplicates in an Array | [Link](https://leetcode.com/problems/find-all-duplicates-in-an-array/) | [Link](./lib/medium/442_find_all_duplicates_in_an_array.rb) | [Link](./test/medium/test_442_find_all_duplicates_in_an_array.rb) | -| 443. String Compression | [Link](https://leetcode.com/problems/string-compression/) | [Link](./lib/medium/443_string_compression.rb) | [Link](./test/medium/test_443_string_compression.rb) | -| 445. Add Two Numbers II | [Link](https://leetcode.com/problems/add-two-numbers-ii/) | [Link](./lib/medium/445_add_two_numbers_ii.rb) | [Link](./test/medium/test_445_add_two_numbers_ii.rb) | -| 449. Serialize and Deserialize BST | [Link](https://leetcode.com/problems/serialize-and-deserialize-bst/) | [Link](./lib/medium/449_serialize_and_deserialize_bst.rb) | [Link](./test/medium/test_449_serialize_and_deserialize_bst.rb) | -| 450. Delete Node in a BST | [Link](https://leetcode.com/problems/delete-node-in-a-bst/) | [Link](./lib/medium/450_delete_node_in_a_bst.rb) | [Link](./test/medium/test_450_delete_node_in_a_bst.rb) | -| 451. Sort Characters By Frequency | [Link](https://leetcode.com/problems/sort-characters-by-frequency/) | [Link](./lib/medium/451_sort_characters_by_frequency.rb) | [Link](./test/medium/test_451_sort_characters_by_frequency.rb) | -| 453. Minimum Moves to Equal Array Elements | [Link](https://leetcode.com/problems/minimum-moves-to-equal-array-elements/) | [Link](./lib/medium/453_minimum_moves_to_equal_array_elements.rb) | [Link](./test/medium/test_453_minimum_moves_to_equal_array_elements.rb) | -| 456. 132 Pattern | [Link](https://leetcode.com/problems/132-pattern/) | [Link](./lib/medium/456_132_pattern.rb) | [Link](./test/medium/test_456_132_pattern.rb) | -| 462. Minimum Moves to Equal Array Elements II | [Link](https://leetcode.com/problems/minimum-moves-to-equal-array-elements-ii/) | [Link](./lib/medium/462_minimum_moves_to_equal_array_elements_ii.rb) | [Link](./test/medium/test_462_minimum_moves_to_equal_array_elements_ii.rb) | -| 468. Validate IP Address | [Link](https://leetcode.com/problems/validate-ip-address/) | [Link](./lib/medium/468_validate_ip_address.rb) | [Link](./test/medium/test_468_validate_ip_address.rb) | -| 474. Ones and Zeroes | [Link](https://leetcode.com/problems/ones-and-zeroes/) | [Link](./lib/medium/474_ones_and_zeroes.rb) | [Link](./test/medium/test_474_ones_and_zeroes.rb) | -| 503. Next Greater Element II | [Link](https://leetcode.com/problems/next-greater-element-ii/) | [Link](./lib/medium/503_next_greater_element_ii.rb) | [Link](./test/medium/test_503_next_greater_element_ii.rb) | -| 508. Most Frequent Subtree Sum | [Link](https://leetcode.com/problems/most-frequent-subtree-sum/) | [Link](./lib/medium/508_most_frequent_subtree_sum.rb) | [Link](./test/medium/test_508_most_frequent_subtree_sum.rb) | -| 513. Find Bottom Left Tree Value | [Link](https://leetcode.com/problems/find-bottom-left-tree-value/) | [Link](./lib/medium/513_find_bottom_left_tree_value.rb) | [Link](./test/medium/test_513_find_bottom_left_tree_value.rb) | -| 515. Find Largest Value in Each Tree Row | [Link](https://leetcode.com/problems/find-largest-value-in-each-tree-row/) | [Link](./lib/medium/515_find_largest_value_in_each_tree_row.rb) | [Link](./test/medium/test_515_find_largest_value_in_each_tree_row.rb) | -| 516. Longest Palindromic Subsequence | [Link](https://leetcode.com/problems/longest-palindromic-subsequence/) | [Link](./lib/medium/516_longest_palindromic_subsequence.rb) | [Link](./test/medium/test_516_longest_palindromic_subsequence.rb) | -| 523. Continuous Subarray Sum | [Link](https://leetcode.com/problems/continuous-subarray-sum/) | [Link](./lib/medium/523_continuous_subarray_sum.rb) | [Link](./test/medium/test_523_continuous_subarray_sum.rb) | -| 524. Longest Word in Dictionary through Deleting | [Link](https://leetcode.com/problems/longest-word-in-dictionary-through-deleting/) | [Link](./lib/medium/524_longest_word_in_dictionary_through_deleting.rb) | [Link](./test/medium/test_524_longest_word_in_dictionary_through_deleting.rb) | -| 535. Encode and Decode TinyURL | [Link](https://leetcode.com/problems/encode-and-decode-tinyurl/) | [Link](./lib/medium/535_encode_and_decode_tinyurl.rb) | [Link](./test/medium/test_535_encode_and_decode_tinyurl.rb) | -| 538. Convert BST to Greater Tree | [Link](https://leetcode.com/problems/convert-bst-to-greater-tree/) | [Link](./lib/medium/538_convert_bst_to_greater_tree.rb) | [Link](./test/medium/test_538_convert_bst_to_greater_tree.rb) | -| 556. Next Greater Element III | [Link](https://leetcode.com/problems/next-greater-element-iii/) | [Link](./lib/medium/556_next_greater_element_iii.rb) | [Link](./test/medium/test_556_next_greater_element_iii.rb) | -| 560. Subarray Sum Equals K | [Link](https://leetcode.com/problems/subarray-sum-equals-k/) | [Link](./lib/medium/560_subarray_sum_equals_k.rb) | [Link](./test/medium/test_560_subarray_sum_equals_k.rb) | -| 581. Shortest Unsorted Continuous Subarray | [Link](https://leetcode.com/problems/shortest-unsorted-continuous-subarray/) | [Link](./lib/medium/581_shortest_unsorted_continuous_subarray.rb) | [Link](./test/medium/test_581_shortest_unsorted_continuous_subarray.rb) | -| 606. Construct String from Binary Tree | [Link](https://leetcode.com/problems/construct-string-from-binary-tree/) | [Link](./lib/medium/606_construct_string_from_binary_tree.rb) | [Link](./test/medium/test_606_construct_string_from_binary_tree.rb) | -| 609. Find Duplicate File in System | [Link](https://leetcode.com/problems/find-duplicate-file-in-system/) | [Link](./lib/medium/609_find_duplicate_file_in_system.rb) | [Link](./test/medium/test_609_find_duplicate_file_in_system.rb) | -| 621. Task Scheduler | [Link](https://leetcode.com/problems/task-scheduler/) | [Link](./lib/medium/621_task_scheduler.rb) | [Link](./test/medium/test_621_task_scheduler.rb) | -| 622. Design Circular Queue | [Link](https://leetcode.com/problems/design-circular-queue/) | [Link](./lib/medium/622_design_circular_queue.rb) | [Link](./test/medium/test_622_design_circular_queue.rb) | -| 623. Add One Row to Tree | [Link](https://leetcode.com/problems/add-one-row-to-tree/) | [Link](./lib/medium/623_add_one_row_to_tree.rb) | [Link](./test/medium/test_623_add_one_row_to_tree.rb) | -| 641. Design Circular Deque | [Link](https://leetcode.com/problems/design-circular-deque/) | [Link](./lib/medium/641_design_circular_deque.rb) | [Link](./test/medium/test_641_design_circular_deque.rb) | -| 647. Palindromic Substrings | [Link](https://leetcode.com/problems/palindromic-substrings/) | [Link](./lib/medium/647_palindromic_substrings.rb) | [Link](./test/medium/test_647_palindromic_substrings.rb) | -| 648. Replace Words | [Link](https://leetcode.com/problems/replace-words/) | [Link](./lib/medium/648_replace_words.rb) | [Link](./test/medium/test_648_replace_words.rb) | -| 652. Find Duplicate Subtrees | [Link](https://leetcode.com/problems/find-duplicate-subtrees/) | [Link](./lib/medium/652_find_duplicate_subtrees.rb) | [Link](./test/medium/test_652_find_duplicate_subtrees.rb) | -| 654. Maximum Binary Tree | [Link](https://leetcode.com/problems/maximum-binary-tree/) | [Link](./lib/medium/654_maximum_binary_tree.rb) | [Link](./test/medium/test_654_maximum_binary_tree.rb) | -| 659. Split Array into Consecutive Subsequences | [Link](https://leetcode.com/problems/split-array-into-consecutive-subsequences/) | [Link](./lib/medium/659_split_array_into_consecutive_subsequences.rb) | [Link](./test/medium/test_659_split_array_into_consecutive_subsequences.rb) | -| 662. Maximum Width of Binary Tree | [Link](https://leetcode.com/problems/maximum-width-of-binary-tree/) | [Link](./lib/medium/662_maximum_width_of_binary_tree.rb) | [Link](./test/medium/test_662_maximum_width_of_binary_tree.rb) | -| 669. Trim a Binary Search Tree | [Link](https://leetcode.com/problems/trim-a-binary-search-tree/) | [Link](./lib/medium/669_trim_a_binary_search_tree.rb) | [Link](./test/medium/test_669_trim_a_binary_search_tree.rb) | -| 677. Map Sum Pairs | [Link](https://leetcode.com/problems/map-sum-pairs/) | [Link](./lib/medium/677_map_sum_pairs.rb) | [Link](./test/medium/test_677_map_sum_pairs.rb) | -| 678. Valid Parenthesis String | [Link](https://leetcode.com/problems/valid-parenthesis-string/) | [Link](./lib/medium/678_valid_parenthesis_string.rb) | [Link](./test/medium/test_678_valid_parenthesis_string.rb) | -| 687. Longest Univalue Path | [Link](https://leetcode.com/problems/longest-univalue-path/) | [Link](./lib/medium/687_longest_univalue_path.rb) | [Link](./test/medium/test_687_longest_univalue_path.rb) | -| 692. Top K Frequent Words | [Link](https://leetcode.com/problems/top-k-frequent-words/) | [Link](./lib/medium/692_top_k_frequent_words.rb) | [Link](./test/medium/test_692_top_k_frequent_words.rb) | -| 701. Insert into a Binary Search Tree | [Link](https://leetcode.com/problems/insert-into-a-binary-search-tree/) | [Link](./lib/medium/701_insert_into_a_binary_search_tree.rb) | [Link](./test/medium/test_701_insert_into_a_binary_search_tree.rb) | -| 707. Design Linked List | [Link](https://leetcode.com/problems/design-linked-list/) | [Link](./lib/medium/707_design_linked_list.rb) | [Link](./test/medium/test_707_design_linked_list.rb) | -| 713. Subarray Product Less Than K | [Link](https://leetcode.com/problems/subarray-product-less-than-k/) | [Link](./lib/medium/713_subarray_product_less_than_k.rb) | [Link](./test/medium/test_713_subarray_product_less_than_k.rb) | -| 720. Longest Word in Dictionary | [Link](https://leetcode.com/problems/longest-word-in-dictionary/) | [Link](./lib/medium/720_longest_word_in_dictionary.rb) | [Link](./test/medium/test_720_longest_word_in_dictionary.rb) | -| 725. Split Linked List in Parts | [Link](https://leetcode.com/problems/split-linked-list-in-parts/) | [Link](./lib/medium/725_split_linked_list_in_parts.rb) | [Link](./test/medium/test_725_split_linked_list_in_parts.rb) | -| 729. My Calendar I | [Link](https://leetcode.com/problems/my-calendar-i/) | [Link](./lib/medium/729_my_calendar_i.rb) | [Link](./test/medium/test_729_my_calendar_i.rb) | -| 735. Asteroid Collision | [Link](https://leetcode.com/problems/asteroid-collision/) | [Link](./lib/medium/735_asteroid_collision.rb) | [Link](./test/medium/test_735_asteroid_collision.rb) | -| 739. Daily Temperatures | [Link](https://leetcode.com/problems/daily-temperatures/) | [Link](./lib/medium/739_daily_temperatures.rb) | [Link](./test/medium/test_739_daily_temperatures.rb) | -| 763. Partition Labels | [Link](https://leetcode.com/problems/partition-labels/) | [Link](./lib/medium/763_partition_labels.rb) | [Link](./test/medium/test_763_partition_labels.rb) | -| 784. Letter Case Permutation | [Link](https://leetcode.com/problems/letter-case-permutation/) | [Link](./lib/medium/784_letter_case_permutation.rb) | [Link](./test/medium/test_784_letter_case_permutation.rb) | -| 797. All Paths From Source to Target | [Link](https://leetcode.com/problems/all-paths-from-source-to-target/) | [Link](./lib/medium/797_all_paths_from_source_to_target.rb) | [Link](./test/medium/test_797_all_paths_from_source_to_target.rb) | -| 814. Binary Tree Pruning | [Link](https://leetcode.com/problems/binary-tree-pruning/) | [Link](./lib/medium/814_binary_tree_pruning.rb) | [Link](./test/medium/test_814_binary_tree_pruning.rb) | -| 817. Linked List Components | [Link](https://leetcode.com/problems/linked-list-components/) | [Link](./lib/medium/817_linked_list_components.rb) | [Link](./test/medium/test_817_linked_list_components.rb) | -| 823. Binary Trees With Factors | [Link](https://leetcode.com/problems/binary-trees-with-factors/) | [Link](./lib/medium/823_binary_trees_with_factors.rb) | [Link](./test/medium/test_823_binary_trees_with_factors.rb) | -| 841. Keys and Rooms | [Link](https://leetcode.com/problems/keys-and-rooms/) | [Link](./lib/medium/841_keys_and_rooms.rb) | [Link](./test/medium/test_841_keys_and_rooms.rb) | -| 852. Peak Index in a Mountain Array | [Link](https://leetcode.com/problems/peak-index-in-a-mountain-array/) | [Link](./lib/medium/852_peak_index_in_a_mountain_array.rb) | [Link](./test/medium/test_852_peak_index_in_a_mountain_array.rb) | -| 856. Score of Parentheses | [Link](https://leetcode.com/problems/score-of-parentheses/) | [Link](./lib/medium/856_score_of_parentheses.rb) | [Link](./test/medium/test_856_score_of_parentheses.rb) | -| 858. Mirror Reflection | [Link](https://leetcode.com/problems/mirror-reflection/) | [Link](./lib/medium/858_mirror_reflection.rb) | [Link](./test/medium/test_858_mirror_reflection.rb) | -| 863. All Nodes Distance K in Binary Tree | [Link](https://leetcode.com/problems/all-nodes-distance-k-in-binary-tree/) | [Link](./lib/medium/863_all_nodes_distance_k_in_binary_tree.rb) | [Link](./test/medium/test_863_all_nodes_distance_k_in_binary_tree.rb) | -| 865. Smallest Subtree with all the Deepest Nodes | [Link](https://leetcode.com/problems/smallest-subtree-with-all-the-deepest-nodes/) | [Link](./lib/medium/865_smallest_subtree_with_all_the_deepest_nodes.rb) | [Link](./test/medium/test_865_smallest_subtree_with_all_the_deepest_nodes.rb) | -| 869. Reordered Power of 2 | [Link](https://leetcode.com/problems/reordered-power-of-2/) | [Link](./lib/medium/869_reordered_power_of_2.rb) | [Link](./test/medium/test_869_reordered_power_of_2.rb) | -| 880. Decoded String at Index | [Link](https://leetcode.com/problems/decoded-string-at-index/) | [Link](./lib/medium/880_decoded_string_at_index.rb) | [Link](./test/medium/test_880_decoded_string_at_index.rb) | -| 889. Construct Binary Tree from Preorder and Postorder Traversal | [Link](https://leetcode.com/problems/construct-binary-tree-from-preorder-and-postorder-traversal/) | [Link](./lib/medium/889_construct_binary_tree_from_preorder_and_postorder_traversal.rb) | [Link](./test/medium/test_889_construct_binary_tree_from_preorder_and_postorder_traversal.rb) | -| 890. Find and Replace Pattern | [Link](https://leetcode.com/problems/find-and-replace-pattern/) | [Link](./lib/medium/890_find_and_replace_pattern.rb) | [Link](./test/medium/test_890_find_and_replace_pattern.rb) | -| 894. All Possible Full Binary Trees | [Link](https://leetcode.com/problems/all-possible-full-binary-trees/) | [Link](./lib/medium/894_all_possible_full_binary_trees.rb) | [Link](./test/medium/test_894_all_possible_full_binary_trees.rb) | -| 901. Online Stock Span | [Link](https://leetcode.com/problems/online-stock-span/) | [Link](./lib/medium/901_online_stock_span.rb) | [Link](./test/medium/test_901_online_stock_span.rb) | -| 910. Smallest Range II | [Link](https://leetcode.com/problems/smallest-range-ii/) | [Link](./lib/medium/910_smallest_range_ii.rb) | [Link](./test/medium/test_910_smallest_range_ii.rb) | -| 912. Sort an Array | [Link](https://leetcode.com/problems/sort-an-array/) | [Link](./lib/medium/912_sort_an_array.rb) | [Link](./test/medium/test_912_sort_an_array.rb) | -| 916. Word Subsets | [Link](https://leetcode.com/problems/word-subsets/) | [Link](./lib/medium/916_word_subsets.rb) | [Link](./test/medium/test_916_word_subsets.rb) | -| 919. Complete Binary Tree Inserter | [Link](https://leetcode.com/problems/complete-binary-tree-inserter/) | [Link](./lib/medium/919_complete_binary_tree_inserter.rb) | [Link](./test/medium/test_919_complete_binary_tree_inserter.rb) | -| 921. Minimum Add to Make Parentheses Valid | [Link](https://leetcode.com/problems/minimum-add-to-make-parentheses-valid/) | [Link](./lib/medium/921_minimum_add_to_make_parentheses_valid.rb) | [Link](./test/medium/test_921_minimum_add_to_make_parentheses_valid.rb) | -| 937. Reorder Data in Log Files | [Link](https://leetcode.com/problems/reorder-data-in-log-files/) | [Link](./lib/medium/937_reorder_data_in_log_files.rb) | [Link](./test/medium/test_937_reorder_data_in_log_files.rb) | -| 946. Validate Stack Sequences | [Link](https://leetcode.com/problems/validate-stack-sequences/) | [Link](./lib/medium/946_validate_stack_sequences.rb) | [Link](./test/medium/test_946_validate_stack_sequences.rb) | -| 950. Reveal Cards In Increasing Order | [Link](https://leetcode.com/problems/reveal-cards-in-increasing-order/) | [Link](./lib/medium/950_reveal_cards_in_increasing_order.rb) | [Link](./test/medium/test_950_reveal_cards_in_increasing_order.rb) | -| 951. Flip Equivalent Binary Trees | [Link](https://leetcode.com/problems/flip-equivalent-binary-trees/) | [Link](./lib/medium/951_flip_equivalent_binary_trees.rb) | [Link](./test/medium/test_951_flip_equivalent_binary_trees.rb) | -| 958. Check Completeness of a Binary Tree | [Link](https://leetcode.com/problems/check-completeness-of-a-binary-tree/) | [Link](./lib/medium/958_check_completeness_of_a_binary_tree.rb) | [Link](./test/medium/test_958_check_completeness_of_a_binary_tree.rb) | -| 967. Numbers With Same Consecutive Differences | [Link](https://leetcode.com/problems/numbers-with-same-consecutive-differences/) | [Link](./lib/medium/967_numbers_with_same_consecutive_differences.rb) | [Link](./test/medium/test_967_numbers_with_same_consecutive_differences.rb) | -| 973. K Closest Points to Origin | [Link](https://leetcode.com/problems/k-closest-points-to-origin/) | [Link](./lib/medium/973_k_closest_points_to_origin.rb) | [Link](./test/medium/test_973_k_closest_points_to_origin.rb) | -| 979. Distribute Coins in Binary Tree | [Link](https://leetcode.com/problems/distribute-coins-in-binary-tree/) | [Link](./lib/medium/979_distribute_coins_in_binary_tree.rb) | [Link](./test/medium/test_979_distribute_coins_in_binary_tree.rb) | -| 981. Time Based Key-Value Store | [Link](https://leetcode.com/problems/time-based-key-value-store/) | [Link](./lib/medium/981_time_based_key_value_store.rb) | [Link](./test/medium/test_981_time_based_key_value_store.rb) | -| 985. Sum of Even Numbers After Queries | [Link](https://leetcode.com/problems/sum-of-even-numbers-after-queries/) | [Link](./lib/medium/985_sum_of_even_numbers_after_queries.rb) | [Link](./test/medium/test_985_sum_of_even_numbers_after_queries.rb) | -| 988. Smallest String Starting From Leaf | [Link](https://leetcode.com/problems/smallest-string-starting-from-leaf/) | [Link](./lib/medium/988_smallest_string_starting_from_leaf.rb) | [Link](./test/medium/test_988_smallest_string_starting_from_leaf.rb) | -| 998. Maximum Binary Tree II | [Link](https://leetcode.com/problems/maximum-binary-tree-ii/) | [Link](./lib/medium/998_maximum_binary_tree_ii.rb) | [Link](./test/medium/test_998_maximum_binary_tree_ii.rb) | -| 1008. Construct Binary Search Tree from Preorder Traversal | [Link](https://leetcode.com/problems/construct-binary-search-tree-from-preorder-traversal/) | [Link](./lib/medium/1008_construct_binary_search_tree_from_preorder_traversal.rb) | [Link](./test/medium/test_1008_construct_binary_search_tree_from_preorder_traversal.rb) | -| 1019. Next Greater Node In Linked List | [Link](https://leetcode.com/problems/next-greater-node-in-linked-list/) | [Link](./lib/medium/1019_next_greater_node_in_linked_list.rb) | [Link](./test/medium/test_1019_next_greater_node_in_linked_list.rb) | -| 1023. Camelcase Matching | [Link](https://leetcode.com/problems/camelcase-matching/) | [Link](./lib/medium/1023_camelcase_matching.rb) | [Link](./test/medium/test_1023_camelcase_matching.rb) | -| 1026. Maximum Difference Between Node and Ancestor | [Link](https://leetcode.com/problems/maximum-difference-between-node-and-ancestor/) | [Link](./lib/medium/1026_maximum_difference_between_node_and_ancestor.rb) | [Link](./test/medium/test_1026_maximum_difference_between_node_and_ancestor.rb) | -| 1038. Binary Search Tree to Greater Sum Tree | [Link](https://leetcode.com/problems/binary-search-tree-to-greater-sum-tree/) | [Link](./lib/medium/1038_binary_search_tree_to_greater_sum_tree.rb) | [Link](./test/medium/test_1038_binary_search_tree_to_greater_sum_tree.rb) | -| 1043. Partition Array for Maximum Sum | [Link](https://leetcode.com/problems/partition-array-for-maximum-sum/) | [Link](./lib/medium/1043_partition_array_for_maximum_sum.rb) | [Link](./test/medium/test_1043_partition_array_for_maximum_sum.rb) | -| 1079. Letter Tile Possibilities | [Link](https://leetcode.com/problems/letter-tile-possibilities/) | [Link](./lib/medium/1079_letter_tile_possibilities.rb) | [Link](./test/medium/test_1079_letter_tile_possibilities.rb) | -| 1081. Smallest Subsequence of Distinct Characters | [Link](https://leetcode.com/problems/smallest-subsequence-of-distinct-characters/) | [Link](./lib/medium/1081_smallest_subsequence_of_distinct_characters.rb) | [Link](./test/medium/test_1081_smallest_subsequence_of_distinct_characters.rb) | -| 1110. Delete Nodes And Return Forest | [Link](https://leetcode.com/problems/delete-nodes-and-return-forest/) | [Link](./lib/medium/1110_delete_nodes_and_return_forest.rb) | [Link](./test/medium/test_1110_delete_nodes_and_return_forest.rb) | -| 1111. Maximum Nesting Depth of Two Valid Parentheses Strings | [Link](https://leetcode.com/problems/maximum-nesting-depth-of-two-valid-parentheses-strings/) | [Link](./lib/medium/1111_maximum_nesting_depth_of_two_valid_parentheses_strings.rb) | [Link](./test/medium/test_1111_maximum_nesting_depth_of_two_valid_parentheses_strings.rb) | -| 1123. Lowest Common Ancestor of Deepest Leaves | [Link](https://leetcode.com/problems/lowest-common-ancestor-of-deepest-leaves/) | [Link](./lib/medium/1123_lowest_common_ancestor_of_deepest_leaves.rb) | [Link](./test/medium/test_1123_lowest_common_ancestor_of_deepest_leaves.rb) | -| 1161. Maximum Level Sum of a Binary Tree | [Link](https://leetcode.com/problems/maximum-level-sum-of-a-binary-tree/) | [Link](./lib/medium/1161_maximum_level_sum_of_a_binary_tree.rb) | [Link](./test/medium/test_1161_maximum_level_sum_of_a_binary_tree.rb) | -| 1171. Remove Zero Sum Consecutive Nodes from Linked List | [Link](https://leetcode.com/problems/remove-zero-sum-consecutive-nodes-from-linked-list/) | [Link](./lib/medium/1171_remove_zero_sum_consecutive_nodes_from_linked_list.rb) | [Link](./test/medium/test_1171_remove_zero_sum_consecutive_nodes_from_linked_list.rb) | -| 1209. Remove All Adjacent Duplicates in String II | [Link](https://leetcode.com/problems/remove-all-adjacent-duplicates-in-string-ii/) | [Link](./lib/medium/1209_remove_all_adjacent_duplicates_in_string_ii.rb) | [Link](./test/medium/test_1209_remove_all_adjacent_duplicates_in_string_ii.rb) | -| 1247. Minimum Swaps to Make Strings Equal | [Link](https://leetcode.com/problems/minimum-swaps-to-make-strings-equal/) | [Link](./lib/medium/1247_minimum_swaps_to_make_strings_equal.rb) | [Link](./test/medium/test_1247_minimum_swaps_to_make_strings_equal.rb) | -| 1248. Count Number of Nice Subarrays | [Link](https://leetcode.com/problems/count-number-of-nice-subarrays/) | [Link](./lib/medium/1248_count_number_of_nice_subarrays.rb) | [Link](./test/medium/test_1248_count_number_of_nice_subarrays.rb) | -| 1249. Minimum Remove to Make Valid Parentheses | [Link](https://leetcode.com/problems/minimum-remove-to-make-valid-parentheses/) | [Link](./lib/medium/1249_minimum_remove_to_make_valid_parentheses.rb) | [Link](./test/medium/test_1249_minimum_remove_to_make_valid_parentheses.rb) | -| 1261. Find Elements in a Contaminated Binary Tree | [Link](https://leetcode.com/problems/find-elements-in-a-contaminated-binary-tree/) | [Link](./lib/medium/1261_find_elements_in_a_contaminated_binary_tree.rb) | [Link](./test/medium/test_1261_find_elements_in_a_contaminated_binary_tree.rb) | -| 1288. Remove Covered Intervals | [Link](https://leetcode.com/problems/remove-covered-intervals/) | [Link](./lib/medium/1288_remove_covered_intervals.rb) | [Link](./test/medium/test_1288_remove_covered_intervals.rb) | -| 1302. Deepest Leaves Sum | [Link](https://leetcode.com/problems/deepest-leaves-sum/) | [Link](./lib/medium/1302_deepest_leaves_sum.rb) | [Link](./test/medium/test_1302_deepest_leaves_sum.rb) | -| 1305. All Elements in Two Binary Search Trees | [Link](https://leetcode.com/problems/all-elements-in-two-binary-search-trees/) | [Link](./lib/medium/1305_all_elements_in_two_binary_search_trees.rb) | [Link](./test/medium/test_1305_all_elements_in_two_binary_search_trees.rb) | -| 1310. XOR Queries of a Subarray | [Link](https://leetcode.com/problems/xor-queries-of-a-subarray/) | [Link](./lib/medium/1310_xor_queries_of_a_subarray.rb) | [Link](./test/medium/test_1310_xor_queries_of_a_subarray.rb) | -| 1315. Sum of Nodes with Even-Valued Grandparent | [Link](https://leetcode.com/problems/sum-of-nodes-with-even-valued-grandparent/) | [Link](./lib/medium/1315_sum_of_nodes_with_even_valued_grandparent.rb) | [Link](./test/medium/test_1315_sum_of_nodes_with_even_valued_grandparent.rb) | -| 1325. Delete Leaves With a Given Value | [Link](https://leetcode.com/problems/delete-leaves-with-a-given-value/) | [Link](./lib/medium/1325_delete_leaves_with_a_given_value.rb) | [Link](./test/medium/test_1325_delete_leaves_with_a_given_value.rb) | -| 1329. Sort the Matrix Diagonally | [Link](https://leetcode.com/problems/sort-the-matrix-diagonally/) | [Link](./lib/medium/1329_sort_the_matrix_diagonally.rb) | [Link](./test/medium/test_1329_sort_the_matrix_diagonally.rb) | -| 1338. Reduce Array Size to The Half | [Link](https://leetcode.com/problems/reduce-array-size-to-the-half/) | [Link](./lib/medium/1338_reduce_array_size_to_the_half.rb) | [Link](./test/medium/test_1338_reduce_array_size_to_the_half.rb) | -| 1339. Maximum Product of Splitted Binary Tree | [Link](https://leetcode.com/problems/maximum-product-of-splitted-binary-tree/) | [Link](./lib/medium/1339_maximum_product_of_splitted_binary_tree.rb) | [Link](./test/medium/test_1339_maximum_product_of_splitted_binary_tree.rb) | -| 1400. Construct K Palindrome Strings | [Link](https://leetcode.com/problems/construct-k-palindrome-strings/) | [Link](./lib/medium/1400_construct_k_palindrome_strings.rb) | [Link](./test/medium/test_1400_construct_k_palindrome_strings.rb) | -| 2116. Check if a Parentheses String Can Be Valid | [Link](https://leetcode.com/problems/check-if-a-parentheses-string-can-be-valid/) | [Link](./lib/medium/2116_check_if_a_parentheses_string_can_be_valid.rb) | [Link](./test/medium/test_2116_check_if_a_parentheses_string_can_be_valid.rb) | -| 2425. Bitwise XOR of All Pairings | [Link](https://leetcode.com/problems/bitwise-xor-of-all-pairings/) | [Link](./lib/medium/2425_bitwise_xor_of_all_pairings.rb) | [Link](./test/medium/test_2425_bitwise_xor_of_all_pairings.rb) | -| 2429. Minimize XOR | [Link](https://leetcode.com/problems/minimize-xor/) | [Link](./lib/medium/2429_minimize_xor.rb) | [Link](./test/medium/test_2429_minimize_xor.rb) | -| 2657. Find the Prefix Common Array of Two Arrays | [Link](https://leetcode.com/problems/find-the-prefix-common-array-of-two-arrays/) | [Link](./lib/medium/2657_find_the_prefix_common_array_of_two_arrays.rb) | [Link](./test/medium/test_2657_find_the_prefix_common_array_of_two_arrays.rb) | -| 2683. Neighboring Bitwise XOR | [Link](https://leetcode.com/problems/neighboring-bitwise-xor/) | [Link](./lib/medium/2683_neighboring_bitwise_xor.rb) | [Link](./test/medium/test_2683_neighboring_bitwise_xor.rb) | -| 3223. Minimum Length of String After Operations | [Link](https://leetcode.com/problems/minimum-length-of-string-after-operations/) | [Link](./lib/medium/3223_minimum_length_of_string_after_operations.rb) | [Link](./test/medium/test_3223_minimum_length_of_string_after_operations.rb) | +| Name | Link to LeetCode | Link to solution | Link to tests | +| ----------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| 2. Add Two Numbers | [Link](https://leetcode.com/problems/add-two-numbers/) | [Link](./lib/medium/2_add_two_numbers.rb) | [Link](./test/medium/test_2_add_two_numbers.rb) | +| 3. Longest Substring Without Repeating Characters | [Link](https://leetcode.com/problems/longest-substring-without-repeating-characters/) | [Link](./lib/medium/3_longest_substring_without_repeating_characters.rb) | [Link](./test/medium/test_3_longest_substring_without_repeating_characters.rb) | +| 5. Longest Palindromic Substring | [Link](https://leetcode.com/problems/longest-palindromic-substring/) | [Link](./lib/medium/5_longest_palindromic_substring.rb) | [Link](./test/medium/test_5_longest_palindromic_substring.rb) | +| 7. Reverse Integer | [Link](https://leetcode.com/problems/reverse-integer/) | [Link](./lib/medium/7_reverse_integer.rb) | [Link](./test/medium/test_7_reverse_integer.rb) | +| 8. String to Integer (atoi) | [Link](https://leetcode.com/problems/string-to-integer-atoi/) | [Link](./lib/medium/8_string_to_integer_atoi.rb) | [Link](./test/medium/test_8_string_to_integer_atoi.rb) | +| 11. Container With Most Water | [Link](https://leetcode.com/problems/container-with-most-water/) | [Link](./lib/medium/11_container_with_most_water.rb) | [Link](./test/medium/test_11_container_with_most_water.rb) | +| 12. Integer to Roman | [Link](https://leetcode.com/problems/integer-to-roman/) | [Link](./lib/medium/12_integer_to_roman.rb) | [Link](./test/medium/test_12_integer_to_roman.rb) | +| 15. 3Sum | [Link](https://leetcode.com/problems/3sum/) | [Link](./lib/medium/15_3sum.rb) | [Link](./test/medium/test_15_3sum.rb) | +| 16. 3Sum Closest | [Link](https://leetcode.com/problems/3sum-closest/) | [Link](./lib/medium/16_3sum_closest.rb) | [Link](./test/medium/test_16_3sum_closest.rb) | +| 17. Letter Combinations of a Phone Number | [Link](https://leetcode.com/problems/letter-combinations-of-a-phone-number/) | [Link](./lib/medium/17_letter_combinations_of_a_phone_number.rb) | [Link](./test/medium/test_17_letter_combinations_of_a_phone_number.rb) | +| 19. Remove Nth Node From End of List | [Link](https://leetcode.com/problems/remove-nth-node-from-end-of-list/) | [Link](./lib/medium/19_remove_nth_node_from_end_of_list.rb) | [Link](./test/medium/test_19_remove_nth_node_from_end_of_list.rb) | +| 22. Generate Parentheses | [Link](https://leetcode.com/problems/generate-parentheses/) | [Link](./lib/medium/22_generate_parentheses.rb) | [Link](./test/medium/test_22_generate_parentheses.rb) | +| 24. Swap Nodes in Pairs | [Link](https://leetcode.com/problems/swap-nodes-in-pairs/) | [Link](./lib/medium/24_swap_nodes_in_pairs.rb) | [Link](./test/medium/test_24_swap_nodes_in_pairs.rb) | +| 29. Divide Two Integers | [Link](https://leetcode.com/problems/divide-two-integers/) | [Link](./lib/medium/29_divide_two_integers.rb) | [Link](./test/medium/test_29_divide_two_integers.rb) | +| 33. Search in Rotated Sorted Array | [Link](https://leetcode.com/problems/search-in-rotated-sorted-array/) | [Link](./lib/medium/33_search_in_rotated_sorted_array.rb) | [Link](./test/medium/test_33_search_in_rotated_sorted_array.rb) | +| 34. Find First and Last Position of Element in Sorted Array | [Link](https://leetcode.com/problems/find-first-and-last-position-of-element-in-sorted-array/) | [Link](./lib/medium/34_find_first_and_last_position_of_element_in_sorted_array.rb) | [Link](./test/medium/test_34_find_first_and_last_position_of_element_in_sorted_array.rb) | +| 36. Valid Sudoku | [Link](https://leetcode.com/problems/valid-sudoku/) | [Link](./lib/medium/36_valid_sudoku.rb) | [Link](./test/medium/test_36_valid_sudoku.rb) | +| 38. Count and Say | [Link](https://leetcode.com/problems/count-and-say/) | [Link](./lib/medium/38_count_and_say.rb) | [Link](./test/medium/test_38_count_and_say.rb) | +| 39. Combination Sum | [Link](https://leetcode.com/problems/combination-sum/) | [Link](./lib/medium/39_combination_sum.rb) | [Link](./test/medium/test_39_combination_sum.rb) | +| 43. Multiply Strings | [Link](https://leetcode.com/problems/multiply-strings/) | [Link](./lib/medium/43_multiply_strings.rb) | [Link](./test/medium/test_43_multiply_strings.rb) | +| 46. Permutations | [Link](https://leetcode.com/problems/permutations/) | [Link](./lib/medium/46_permutations.rb) | [Link](./test/medium/test_46_permutations.rb) | +| 48. Rotate Image | [Link](https://leetcode.com/problems/rotate-image/) | [Link](./lib/medium/48_rotate_image.rb) | [Link](./test/medium/test_48_rotate_image.rb) | +| 49. Group Anagrams | [Link](https://leetcode.com/problems/group-anagrams/) | [Link](./lib/medium/49_group_anagrams.rb) | [Link](./test/medium/test_49_group_anagrams.rb) | +| 53. Maximum Subarray | [Link](https://leetcode.com/problems/maximum-subarray/) | [Link](./lib/medium/53_maximum_subarray.rb) | [Link](./test/medium/test_53_maximum_subarray.rb) | +| 54. Spiral Matrix | [Link](https://leetcode.com/problems/spiral-matrix/) | [Link](./lib/medium/54_spiral_matrix.rb) | [Link](./test/medium/test_54_spiral_matrix.rb) | +| 55. Jump Game | [Link](https://leetcode.com/problems/jump-game/) | [Link](./lib/medium/55_jump_game.rb) | [Link](./test/medium/test_55_jump_game.rb) | +| 56. Merge Intervals | [Link](https://leetcode.com/problems/merge-intervals/) | [Link](./lib/medium/56_merge_intervals.rb) | [Link](./test/medium/test_56_merge_intervals.rb) | +| 57. Insert Interval | [Link](https://leetcode.com/problems/insert-interval/) | [Link](./lib/medium/57_insert_interval.rb) | [Link](./test/medium/test_57_insert_interval.rb) | +| 59. Spiral Matrix II | [Link](https://leetcode.com/problems/spiral-matrix-ii/) | [Link](./lib/medium/59_spiral_matrix_ii.rb) | [Link](./test/medium/test_59_spiral_matrix_ii.rb) | +| 61. Rotate List | [Link](https://leetcode.com/problems/rotate-list/) | [Link](./lib/medium/61_rotate_list.rb) | [Link](./test/medium/test_61_rotate_list.rb) | +| 62. Unique Paths | [Link](https://leetcode.com/problems/unique-paths/) | [Link](./lib/medium/62_unique_paths.rb) | [Link](./test/medium/test_62_unique_paths.rb) | +| 71. Simplify Path | [Link](https://leetcode.com/problems/simplify-path/) | [Link](./lib/medium/71_simplify_path.rb) | [Link](./test/medium/test_71_simplify_path.rb) | +| 74. Search a 2D Matrix | [Link](https://leetcode.com/problems/search-a-2d-matrix/) | [Link](./lib/medium/74_search_a_2d_matrix.rb) | [Link](./test/medium/test_74_search_a_2d_matrix.rb) | +| 75. Sort Colors | [Link](https://leetcode.com/problems/sort-colors/) | [Link](./lib/medium/75_sort_colors.rb) | [Link](./test/medium/test_75_sort_colors.rb) | +| 78. Subsets | [Link](https://leetcode.com/problems/subsets/) | [Link](./lib/medium/78_subsets.rb) | [Link](./test/medium/test_78_subsets.rb) | +| 82. Remove Duplicates from Sorted List II | [Link](https://leetcode.com/problems/remove-duplicates-from-sorted-list-ii/) | [Link](./lib/medium/82_remove_duplicates_from_sorted_list_ii.rb) | [Link](./test/medium/test_82_remove_duplicates_from_sorted_list_ii.rb) | +| 86. Partition List | [Link](https://leetcode.com/problems/partition-list/) | [Link](./lib/medium/86_partition_list.rb) | [Link](./test/medium/test_86_partition_list.rb) | +| 92. Reverse Linked List II | [Link](https://leetcode.com/problems/reverse-linked-list-ii/) | [Link](./lib/medium/92_reverse_linked_list_ii.rb) | [Link](./test/medium/test_92_reverse_linked_list_ii.rb) | +| 95. Unique Binary Search Trees II | [Link](https://leetcode.com/problems/unique-binary-search-trees-ii/) | [Link](./lib/medium/95_unique_binary_search_trees_ii.rb) | [Link](./test/medium/test_95_unique_binary_search_trees_ii.rb) | +| 96. Unique Binary Search Trees | [Link](https://leetcode.com/problems/unique-binary-search-trees/) | [Link](./lib/medium/96_unique_binary_search_trees.rb) | [Link](./test/medium/test_96_unique_binary_search_trees.rb) | +| 98. Validate Binary Search Tree | [Link](https://leetcode.com/problems/validate-binary-search-tree/) | [Link](./lib/medium/98_validate_binary_search_tree.rb) | [Link](./test/medium/test_98_validate_binary_search_tree.rb) | +| 99. Recover Binary Search Tree | [Link](https://leetcode.com/problems/recover-binary-search-tree/) | [Link](./lib/medium/99_recover_binary_search_tree.rb) | [Link](./test/medium/test_99_recover_binary_search_tree.rb) | +| 102. Binary Tree Level Order Traversal | [Link](https://leetcode.com/problems/binary-tree-level-order-traversal/) | [Link](./lib/medium/102_binary_tree_level_order_traversal.rb) | [Link](./test/medium/test_102_binary_tree_level_order_traversal.rb) | +| 103. Binary Tree Zigzag Level Order Traversal | [Link](https://leetcode.com/problems/binary-tree-zigzag-level-order-traversal/) | [Link](./lib/medium/103_binary_tree_zigzag_level_order_traversal.rb) | [Link](./test/medium/test_103_binary_tree_zigzag_level_order_traversal.rb) | +| 105. Construct Binary Tree from Preorder and Inorder Traversal | [Link](https://leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/) | [Link](./lib/medium/105_construct_binary_tree_from_preorder_and_inorder_traversal.rb) | [Link](./test/medium/test_105_construct_binary_tree_from_preorder_and_inorder_traversal.rb) | +| 106. Construct Binary Tree from Inorder and Postorder Traversal | [Link](https://leetcode.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal/) | [Link](./lib/medium/106_construct_binary_tree_from_inorder_and_postorder_traversal.rb) | [Link](./test/medium/test_106_construct_binary_tree_from_inorder_and_postorder_traversal.rb) | +| 107. Binary Tree Level Order Traversal II | [Link](https://leetcode.com/problems/binary-tree-level-order-traversal-ii/) | [Link](./lib/medium/107_binary_tree_level_order_traversal_ii.rb) | [Link](./test/medium/test_107_binary_tree_level_order_traversal_ii.rb) | +| 109. Convert Sorted List to Binary Search Tree | [Link](https://leetcode.com/problems/convert-sorted-list-to-binary-search-tree/) | [Link](./lib/medium/109_convert_sorted_list_to_binary_search_tree.rb) | [Link](./test/medium/test_109_convert_sorted_list_to_binary_search_tree.rb) | +| 113. Path Sum II | [Link](https://leetcode.com/problems/path-sum-ii/) | [Link](./lib/medium/113_path_sum_ii.rb) | [Link](./test/medium/test_113_path_sum_ii.rb) | +| 114. Flatten Binary Tree to Linked List | [Link](https://leetcode.com/problems/flatten-binary-tree-to-linked-list/) | [Link](./lib/medium/114_flatten_binary_tree_to_linked_list.rb) | [Link](./test/medium/test_114_flatten_binary_tree_to_linked_list.rb) | +| 116. Populating Next Right Pointers in Each Node | [Link](https://leetcode.com/problems/populating-next-right-pointers-in-each-node/) | [Link](./lib/medium/116_populating_next_right_pointers_in_each_node.rb) | [Link](./test/medium/test_116_populating_next_right_pointers_in_each_node.rb) | +| 117. Populating Next Right Pointers in Each Node II | [Link](https://leetcode.com/problems/populating-next-right-pointers-in-each-node-ii/) | [Link](./lib/medium/117_populating_next_right_pointers_in_each_node_ii.rb) | [Link](./test/medium/test_117_populating_next_right_pointers_in_each_node_ii.rb) | +| 120. Triangle | [Link](https://leetcode.com/problems/triangle/) | [Link](./lib/medium/120_triangle.rb) | [Link](./test/medium/test_120_triangle.rb) | +| 128. Longest Consecutive Sequence | [Link](https://leetcode.com/problems/longest-consecutive-sequence/) | [Link](./lib/medium/128_longest_consecutive_sequence.rb) | [Link](./test/medium/test_128_longest_consecutive_sequence.rb) | +| 129. Sum Root to Leaf Numbers | [Link](https://leetcode.com/problems/sum-root-to-leaf-numbers/) | [Link](./lib/medium/129_sum_root_to_leaf_numbers.rb) | [Link](./test/medium/test_129_sum_root_to_leaf_numbers.rb) | +| 133. Clone Graph | [Link](https://leetcode.com/problems/clone-graph/) | [Link](./lib/medium/133_clone_graph.rb) | [Link](./test/medium/test_133_clone_graph.rb) | +| 134. Gas Station | [Link](https://leetcode.com/problems/gas-station/) | [Link](./lib/medium/134_gas_station.rb) | [Link](./test/medium/test_134_gas_station.rb) | +| 138. Copy List with Random Pointer | [Link](https://leetcode.com/problems/copy-list-with-random-pointer/) | [Link](./lib/medium/138_copy_list_with_random_pointer.rb) | [Link](./test/medium/test_138_copy_list_with_random_pointer.rb) | +| 142. Linked List Cycle II | [Link](https://leetcode.com/problems/linked-list-cycle-ii/) | [Link](./lib/medium/142_linked_list_cycle_ii.rb) | [Link](./test/medium/test_142_linked_list_cycle_ii.rb) | +| 143. Reorder List | [Link](https://leetcode.com/problems/reorder-list/) | [Link](./lib/medium/143_reorder_list.rb) | [Link](./test/medium/test_143_reorder_list.rb) | +| 146. LRU Cache | [Link](https://leetcode.com/problems/lru-cache/) | [Link](./lib/medium/146_lru_cache.rb) | [Link](./test/medium/test_146_lru_cache.rb) | +| 147. Insertion Sort List | [Link](https://leetcode.com/problems/insertion-sort-list/) | [Link](./lib/medium/147_insertion_sort_list.rb) | [Link](./test/medium/test_147_insertion_sort_list.rb) | +| 148. Sort List | [Link](https://leetcode.com/problems/sort-list/) | [Link](./lib/medium/148_sort_list.rb) | [Link](./test/medium/test_148_sort_list.rb) | +| 150. Evaluate Reverse Polish Notation | [Link](https://leetcode.com/problems/evaluate-reverse-polish-notation/) | [Link](./lib/medium/150_evaluate_reverse_polish_notation.rb) | [Link](./test/medium/test_150_evaluate_reverse_polish_notation.rb) | +| 151. Reverse Words in a String | [Link](https://leetcode.com/problems/reverse-words-in-a-string/) | [Link](./lib/medium/151_reverse_words_in_a_string.rb) | [Link](./test/medium/test_151_reverse_words_in_a_string.rb) | +| 155. Min Stack | [Link](https://leetcode.com/problems/min-stack/) | [Link](./lib/medium/155_min_stack.rb) | [Link](./test/medium/test_155_min_stack.rb) | +| 165. Compare Version Numbers | [Link](https://leetcode.com/problems/compare-version-numbers/) | [Link](./lib/medium/165_compare_version_numbers.rb) | [Link](./test/medium/test_165_compare_version_numbers.rb) | +| 167. Two Sum II - Input Array Is Sorted | [Link](https://leetcode.com/problems/two-sum-ii-input-array-is-sorted/) | [Link](./lib/medium/167_two_sum_ii_input_array_is_sorted.rb) | [Link](./test/medium/test_167_two_sum_ii_input_array_is_sorted.rb) | +| 173. Binary Search Tree Iterator | [Link](https://leetcode.com/problems/binary-search-tree-iterator/) | [Link](./lib/medium/173_binary_search_tree_iterator.rb) | [Link](./test/medium/test_173_binary_search_tree_iterator.rb) | +| 179. Largest Number | [Link](https://leetcode.com/problems/largest-number/) | [Link](./lib/medium/179_largest_number.rb) | [Link](./test/medium/test_179_largest_number.rb) | +| 187. Repeated DNA Sequences | [Link](https://leetcode.com/problems/repeated-dna-sequences/) | [Link](./lib/medium/187_repeated_dna_sequences.rb) | [Link](./test/medium/test_187_repeated_dna_sequences.rb) | +| 189. Rotate Array | [Link](https://leetcode.com/problems/rotate-array/) | [Link](./lib/medium/189_rotate_array.rb) | [Link](./test/medium/test_189_rotate_array.rb) | +| 199. Binary Tree Right Side View | [Link](https://leetcode.com/problems/binary-tree-right-side-view/) | [Link](./lib/medium/199_binary_tree_right_side_view.rb) | [Link](./test/medium/test_199_binary_tree_right_side_view.rb) | +| 200. Number of Islands | [Link](https://leetcode.com/problems/number-of-islands/) | [Link](./lib/medium/200_number_of_islands.rb) | [Link](./test/medium/test_200_number_of_islands.rb) | +| 204. Count Primes | [Link](https://leetcode.com/problems/count-primes/) | [Link](./lib/medium/204_count_primes.rb) | [Link](./test/medium/test_204_count_primes.rb) | +| 208. Implement Trie (Prefix Tree) | [Link](https://leetcode.com/problems/implement-trie-prefix-tree/) | [Link](./lib/medium/208_implement_trie_prefix_tree.rb) | [Link](./test/medium/test_208_implement_trie_prefix_tree.rb) | +| 209. Minimum Size Subarray Sum | [Link](https://leetcode.com/problems/minimum-size-subarray-sum/) | [Link](./lib/medium/209_minimum_size_subarray_sum.rb) | [Link](./test/medium/test_209_minimum_size_subarray_sum.rb) | +| 215. Kth Largest Element in an Array | [Link](https://leetcode.com/problems/kth-largest-element-in-an-array/) | [Link](./lib/medium/215_kth_largest_element_in_an_array.rb) | [Link](./test/medium/test_215_kth_largest_element_in_an_array.rb) | +| 227. Basic Calculator II | [Link](https://leetcode.com/problems/basic-calculator-ii/) | [Link](./lib/medium/227_basic_calculator_ii.rb) | [Link](./test/medium/test_227_basic_calculator_ii.rb) | +| 230. Kth Smallest Element in a BST | [Link](https://leetcode.com/problems/kth-smallest-element-in-a-bst/) | [Link](./lib/medium/230_kth_smallest_element_in_a_bst.rb) | [Link](./test/medium/test_230_kth_smallest_element_in_a_bst.rb) | +| 235. Lowest Common Ancestor of a Binary Search Tree | [Link](https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-search-tree/) | [Link](./lib/medium/235_lowest_common_ancestor_of_a_binary_search_tree.rb) | [Link](./test/medium/test_235_lowest_common_ancestor_of_a_binary_search_tree.rb) | +| 236. Lowest Common Ancestor of a Binary Tree | [Link](https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree/) | [Link](./lib/medium/236_lowest_common_ancestor_of_a_binary_tree.rb) | [Link](./test/medium/test_236_lowest_common_ancestor_of_a_binary_tree.rb) | +| 237. Delete Node in a Linked List | [Link](https://leetcode.com/problems/delete-node-in-a-linked-list/) | [Link](./lib/medium/237_delete_node_in_a_linked_list.rb) | [Link](./test/medium/test_237_delete_node_in_a_linked_list.rb) | +| 238. Product of Array Except Self | [Link](https://leetcode.com/problems/product-of-array-except-self/) | [Link](./lib/medium/238_product_of_array_except_self.rb) | [Link](./test/medium/test_238_product_of_array_except_self.rb) | +| 240. Search a 2D Matrix II | [Link](https://leetcode.com/problems/search-a-2d-matrix-ii/) | [Link](./lib/medium/240_search_a_2d_matrix_ii.rb) | [Link](./test/medium/test_240_search_a_2d_matrix_ii.rb) | +| 284. Peeking Iterator | [Link](https://leetcode.com/problems/peeking-iterator/) | [Link](./lib/medium/284_peeking_iterator.rb) | [Link](./test/medium/test_284_peeking_iterator.rb) | +| 287. Find the Duplicate Number | [Link](https://leetcode.com/problems/find-the-duplicate-number/) | [Link](./lib/medium/287_find_the_duplicate_number.rb) | [Link](./test/medium/test_287_find_the_duplicate_number.rb) | +| 299. Bulls and Cows | [Link](https://leetcode.com/problems/bulls-and-cows/) | [Link](./lib/medium/299_bulls_and_cows.rb) | [Link](./test/medium/test_299_bulls_and_cows.rb) | +| 300. Longest Increasing Subsequence | [Link](https://leetcode.com/problems/longest-increasing-subsequence/) | [Link](./lib/medium/300_longest_increasing_subsequence.rb) | [Link](./test/medium/test_300_longest_increasing_subsequence.rb) | +| 304. Range Sum Query 2D - Immutable | [Link](https://leetcode.com/problems/range-sum-query-2d-immutable/) | [Link](./lib/medium/304_range_sum_query_2d_immutable.rb) | [Link](./test/medium/test_304_range_sum_query_2d_immutable.rb) | +| 316. Remove Duplicate Letters | [Link](https://leetcode.com/problems/remove-duplicate-letters/) | [Link](./lib/medium/316_remove_duplicate_letters.rb) | [Link](./test/medium/test_316_remove_duplicate_letters.rb) | +| 318. Maximum Product of Word Lengths | [Link](https://leetcode.com/problems/maximum-product-of-word-lengths/) | [Link](./lib/medium/318_maximum_product_of_word_lengths.rb) | [Link](./test/medium/test_318_maximum_product_of_word_lengths.rb) | +| 328. Odd Even Linked List | [Link](https://leetcode.com/problems/odd-even-linked-list/) | [Link](./lib/medium/328_odd_even_linked_list.rb) | [Link](./test/medium/test_328_odd_even_linked_list.rb) | +| 331. Verify Preorder Serialization of a Binary Tree | [Link](https://leetcode.com/problems/verify-preorder-serialization-of-a-binary-tree/) | [Link](./lib/medium/331_verify_preorder_serialization_of_a_binary_tree.rb) | [Link](./test/medium/test_331_verify_preorder_serialization_of_a_binary_tree.rb) | +| 334. Increasing Triplet Subsequence | [Link](https://leetcode.com/problems/increasing-triplet-subsequence/) | [Link](./lib/medium/334_increasing_triplet_subsequence.rb) | [Link](./test/medium/test_334_increasing_triplet_subsequence.rb) | +| 341. Flatten Nested List Iterator | [Link](https://leetcode.com/problems/flatten-nested-list-iterator/) | [Link](./lib/medium/341_flatten_nested_list_iterator.rb) | [Link](./test/medium/test_341_flatten_nested_list_iterator.rb) | +| 347. Top K Frequent Elements | [Link](https://leetcode.com/problems/top-k-frequent-elements/) | [Link](./lib/medium/347_top_k_frequent_elements.rb) | [Link](./test/medium/test_347_top_k_frequent_elements.rb) | +| 371. Sum of Two Integers | [Link](https://leetcode.com/problems/sum-of-two-integers/) | [Link](./lib/medium/371_sum_of_two_integers.rb) | [Link](./test/medium/test_371_sum_of_two_integers.rb) | +| 377. Combination Sum IV | [Link](https://leetcode.com/problems/combination-sum-iv/) | [Link](./lib/medium/377_combination_sum_iv.rb) | [Link](./test/medium/test_377_combination_sum_iv.rb) | +| 378. Kth Smallest Element in a Sorted Matrix | [Link](https://leetcode.com/problems/kth-smallest-element-in-a-sorted-matrix/) | [Link](./lib/medium/378_kth_smallest_element_in_a_sorted_matrix.rb) | [Link](./test/medium/test_378_kth_smallest_element_in_a_sorted_matrix.rb) | +| 380. Insert Delete GetRandom O(1) | [Link](https://leetcode.com/problems/insert-delete-getrandom-o1/) | [Link](./lib/medium/380_insert_delete_getrandom_o1.rb) | [Link](./test/medium/test_380_insert_delete_getrandom_o1.rb) | +| 382. Linked List Random Node | [Link](https://leetcode.com/problems/linked-list-random-node/) | [Link](./lib/medium/382_linked_list_random_node.rb) | [Link](./test/medium/test_382_linked_list_random_node.rb) | +| 388. Longest Absolute File Path | [Link](https://leetcode.com/problems/longest-absolute-file-path/) | [Link](./lib/medium/388_longest_absolute_file_path.rb) | [Link](./test/medium/test_388_longest_absolute_file_path.rb) | +| 394. Decode String | [Link](https://leetcode.com/problems/decode-string/) | [Link](./lib/medium/394_decode_string.rb) | [Link](./test/medium/test_394_decode_string.rb) | +| 398. Random Pick Index | [Link](https://leetcode.com/problems/random-pick-index/) | [Link](./lib/medium/398_random_pick_index.rb) | [Link](./test/medium/test_398_random_pick_index.rb) | +| 400. Nth Digit | [Link](https://leetcode.com/problems/nth-digit/) | [Link](./lib/medium/400_nth_digit.rb) | [Link](./test/medium/test_400_nth_digit.rb) | +| 402. Remove K Digits | [Link](https://leetcode.com/problems/remove-k-digits/) | [Link](./lib/medium/402_remove_k_digits.rb) | [Link](./test/medium/test_402_remove_k_digits.rb) | +| 417. Pacific Atlantic Water Flow | [Link](https://leetcode.com/problems/pacific-atlantic-water-flow/) | [Link](./lib/medium/417_pacific_atlantic_water_flow.rb) | [Link](./test/medium/test_417_pacific_atlantic_water_flow.rb) | +| 424. Longest Repeating Character Replacement | [Link](https://leetcode.com/problems/longest-repeating-character-replacement/) | [Link](./lib/medium/424_longest_repeating_character_replacement.rb) | [Link](./test/medium/test_424_longest_repeating_character_replacement.rb) | +| 429. N-ary Tree Level Order Traversal | [Link](https://leetcode.com/problems/n-ary-tree-level-order-traversal/) | [Link](./lib/medium/429_n_ary_tree_level_order_traversal.rb) | [Link](./test/medium/test_429_n_ary_tree_level_order_traversal.rb) | +| 435. Non-overlapping Intervals | [Link](https://leetcode.com/problems/non-overlapping-intervals/) | [Link](./lib/medium/435_non_overlapping_intervals.rb) | [Link](./test/medium/test_435_non_overlapping_intervals.rb) | +| 437. Path Sum III | [Link](https://leetcode.com/problems/path-sum-iii/) | [Link](./lib/medium/437_path_sum_iii.rb) | [Link](./test/medium/test_437_path_sum_iii.rb) | +| 438. Find All Anagrams in a String | [Link](https://leetcode.com/problems/find-all-anagrams-in-a-string/) | [Link](./lib/medium/438_find_all_anagrams_in_a_string.rb) | [Link](./test/medium/test_438_find_all_anagrams_in_a_string.rb) | +| 442. Find All Duplicates in an Array | [Link](https://leetcode.com/problems/find-all-duplicates-in-an-array/) | [Link](./lib/medium/442_find_all_duplicates_in_an_array.rb) | [Link](./test/medium/test_442_find_all_duplicates_in_an_array.rb) | +| 443. String Compression | [Link](https://leetcode.com/problems/string-compression/) | [Link](./lib/medium/443_string_compression.rb) | [Link](./test/medium/test_443_string_compression.rb) | +| 445. Add Two Numbers II | [Link](https://leetcode.com/problems/add-two-numbers-ii/) | [Link](./lib/medium/445_add_two_numbers_ii.rb) | [Link](./test/medium/test_445_add_two_numbers_ii.rb) | +| 449. Serialize and Deserialize BST | [Link](https://leetcode.com/problems/serialize-and-deserialize-bst/) | [Link](./lib/medium/449_serialize_and_deserialize_bst.rb) | [Link](./test/medium/test_449_serialize_and_deserialize_bst.rb) | +| 450. Delete Node in a BST | [Link](https://leetcode.com/problems/delete-node-in-a-bst/) | [Link](./lib/medium/450_delete_node_in_a_bst.rb) | [Link](./test/medium/test_450_delete_node_in_a_bst.rb) | +| 451. Sort Characters By Frequency | [Link](https://leetcode.com/problems/sort-characters-by-frequency/) | [Link](./lib/medium/451_sort_characters_by_frequency.rb) | [Link](./test/medium/test_451_sort_characters_by_frequency.rb) | +| 453. Minimum Moves to Equal Array Elements | [Link](https://leetcode.com/problems/minimum-moves-to-equal-array-elements/) | [Link](./lib/medium/453_minimum_moves_to_equal_array_elements.rb) | [Link](./test/medium/test_453_minimum_moves_to_equal_array_elements.rb) | +| 456. 132 Pattern | [Link](https://leetcode.com/problems/132-pattern/) | [Link](./lib/medium/456_132_pattern.rb) | [Link](./test/medium/test_456_132_pattern.rb) | +| 462. Minimum Moves to Equal Array Elements II | [Link](https://leetcode.com/problems/minimum-moves-to-equal-array-elements-ii/) | [Link](./lib/medium/462_minimum_moves_to_equal_array_elements_ii.rb) | [Link](./test/medium/test_462_minimum_moves_to_equal_array_elements_ii.rb) | +| 468. Validate IP Address | [Link](https://leetcode.com/problems/validate-ip-address/) | [Link](./lib/medium/468_validate_ip_address.rb) | [Link](./test/medium/test_468_validate_ip_address.rb) | +| 474. Ones and Zeroes | [Link](https://leetcode.com/problems/ones-and-zeroes/) | [Link](./lib/medium/474_ones_and_zeroes.rb) | [Link](./test/medium/test_474_ones_and_zeroes.rb) | +| 503. Next Greater Element II | [Link](https://leetcode.com/problems/next-greater-element-ii/) | [Link](./lib/medium/503_next_greater_element_ii.rb) | [Link](./test/medium/test_503_next_greater_element_ii.rb) | +| 508. Most Frequent Subtree Sum | [Link](https://leetcode.com/problems/most-frequent-subtree-sum/) | [Link](./lib/medium/508_most_frequent_subtree_sum.rb) | [Link](./test/medium/test_508_most_frequent_subtree_sum.rb) | +| 513. Find Bottom Left Tree Value | [Link](https://leetcode.com/problems/find-bottom-left-tree-value/) | [Link](./lib/medium/513_find_bottom_left_tree_value.rb) | [Link](./test/medium/test_513_find_bottom_left_tree_value.rb) | +| 515. Find Largest Value in Each Tree Row | [Link](https://leetcode.com/problems/find-largest-value-in-each-tree-row/) | [Link](./lib/medium/515_find_largest_value_in_each_tree_row.rb) | [Link](./test/medium/test_515_find_largest_value_in_each_tree_row.rb) | +| 516. Longest Palindromic Subsequence | [Link](https://leetcode.com/problems/longest-palindromic-subsequence/) | [Link](./lib/medium/516_longest_palindromic_subsequence.rb) | [Link](./test/medium/test_516_longest_palindromic_subsequence.rb) | +| 523. Continuous Subarray Sum | [Link](https://leetcode.com/problems/continuous-subarray-sum/) | [Link](./lib/medium/523_continuous_subarray_sum.rb) | [Link](./test/medium/test_523_continuous_subarray_sum.rb) | +| 524. Longest Word in Dictionary through Deleting | [Link](https://leetcode.com/problems/longest-word-in-dictionary-through-deleting/) | [Link](./lib/medium/524_longest_word_in_dictionary_through_deleting.rb) | [Link](./test/medium/test_524_longest_word_in_dictionary_through_deleting.rb) | +| 535. Encode and Decode TinyURL | [Link](https://leetcode.com/problems/encode-and-decode-tinyurl/) | [Link](./lib/medium/535_encode_and_decode_tinyurl.rb) | [Link](./test/medium/test_535_encode_and_decode_tinyurl.rb) | +| 538. Convert BST to Greater Tree | [Link](https://leetcode.com/problems/convert-bst-to-greater-tree/) | [Link](./lib/medium/538_convert_bst_to_greater_tree.rb) | [Link](./test/medium/test_538_convert_bst_to_greater_tree.rb) | +| 556. Next Greater Element III | [Link](https://leetcode.com/problems/next-greater-element-iii/) | [Link](./lib/medium/556_next_greater_element_iii.rb) | [Link](./test/medium/test_556_next_greater_element_iii.rb) | +| 560. Subarray Sum Equals K | [Link](https://leetcode.com/problems/subarray-sum-equals-k/) | [Link](./lib/medium/560_subarray_sum_equals_k.rb) | [Link](./test/medium/test_560_subarray_sum_equals_k.rb) | +| 581. Shortest Unsorted Continuous Subarray | [Link](https://leetcode.com/problems/shortest-unsorted-continuous-subarray/) | [Link](./lib/medium/581_shortest_unsorted_continuous_subarray.rb) | [Link](./test/medium/test_581_shortest_unsorted_continuous_subarray.rb) | +| 606. Construct String from Binary Tree | [Link](https://leetcode.com/problems/construct-string-from-binary-tree/) | [Link](./lib/medium/606_construct_string_from_binary_tree.rb) | [Link](./test/medium/test_606_construct_string_from_binary_tree.rb) | +| 609. Find Duplicate File in System | [Link](https://leetcode.com/problems/find-duplicate-file-in-system/) | [Link](./lib/medium/609_find_duplicate_file_in_system.rb) | [Link](./test/medium/test_609_find_duplicate_file_in_system.rb) | +| 621. Task Scheduler | [Link](https://leetcode.com/problems/task-scheduler/) | [Link](./lib/medium/621_task_scheduler.rb) | [Link](./test/medium/test_621_task_scheduler.rb) | +| 622. Design Circular Queue | [Link](https://leetcode.com/problems/design-circular-queue/) | [Link](./lib/medium/622_design_circular_queue.rb) | [Link](./test/medium/test_622_design_circular_queue.rb) | +| 623. Add One Row to Tree | [Link](https://leetcode.com/problems/add-one-row-to-tree/) | [Link](./lib/medium/623_add_one_row_to_tree.rb) | [Link](./test/medium/test_623_add_one_row_to_tree.rb) | +| 641. Design Circular Deque | [Link](https://leetcode.com/problems/design-circular-deque/) | [Link](./lib/medium/641_design_circular_deque.rb) | [Link](./test/medium/test_641_design_circular_deque.rb) | +| 647. Palindromic Substrings | [Link](https://leetcode.com/problems/palindromic-substrings/) | [Link](./lib/medium/647_palindromic_substrings.rb) | [Link](./test/medium/test_647_palindromic_substrings.rb) | +| 648. Replace Words | [Link](https://leetcode.com/problems/replace-words/) | [Link](./lib/medium/648_replace_words.rb) | [Link](./test/medium/test_648_replace_words.rb) | +| 652. Find Duplicate Subtrees | [Link](https://leetcode.com/problems/find-duplicate-subtrees/) | [Link](./lib/medium/652_find_duplicate_subtrees.rb) | [Link](./test/medium/test_652_find_duplicate_subtrees.rb) | +| 654. Maximum Binary Tree | [Link](https://leetcode.com/problems/maximum-binary-tree/) | [Link](./lib/medium/654_maximum_binary_tree.rb) | [Link](./test/medium/test_654_maximum_binary_tree.rb) | +| 659. Split Array into Consecutive Subsequences | [Link](https://leetcode.com/problems/split-array-into-consecutive-subsequences/) | [Link](./lib/medium/659_split_array_into_consecutive_subsequences.rb) | [Link](./test/medium/test_659_split_array_into_consecutive_subsequences.rb) | +| 662. Maximum Width of Binary Tree | [Link](https://leetcode.com/problems/maximum-width-of-binary-tree/) | [Link](./lib/medium/662_maximum_width_of_binary_tree.rb) | [Link](./test/medium/test_662_maximum_width_of_binary_tree.rb) | +| 669. Trim a Binary Search Tree | [Link](https://leetcode.com/problems/trim-a-binary-search-tree/) | [Link](./lib/medium/669_trim_a_binary_search_tree.rb) | [Link](./test/medium/test_669_trim_a_binary_search_tree.rb) | +| 677. Map Sum Pairs | [Link](https://leetcode.com/problems/map-sum-pairs/) | [Link](./lib/medium/677_map_sum_pairs.rb) | [Link](./test/medium/test_677_map_sum_pairs.rb) | +| 678. Valid Parenthesis String | [Link](https://leetcode.com/problems/valid-parenthesis-string/) | [Link](./lib/medium/678_valid_parenthesis_string.rb) | [Link](./test/medium/test_678_valid_parenthesis_string.rb) | +| 687. Longest Univalue Path | [Link](https://leetcode.com/problems/longest-univalue-path/) | [Link](./lib/medium/687_longest_univalue_path.rb) | [Link](./test/medium/test_687_longest_univalue_path.rb) | +| 692. Top K Frequent Words | [Link](https://leetcode.com/problems/top-k-frequent-words/) | [Link](./lib/medium/692_top_k_frequent_words.rb) | [Link](./test/medium/test_692_top_k_frequent_words.rb) | +| 701. Insert into a Binary Search Tree | [Link](https://leetcode.com/problems/insert-into-a-binary-search-tree/) | [Link](./lib/medium/701_insert_into_a_binary_search_tree.rb) | [Link](./test/medium/test_701_insert_into_a_binary_search_tree.rb) | +| 707. Design Linked List | [Link](https://leetcode.com/problems/design-linked-list/) | [Link](./lib/medium/707_design_linked_list.rb) | [Link](./test/medium/test_707_design_linked_list.rb) | +| 713. Subarray Product Less Than K | [Link](https://leetcode.com/problems/subarray-product-less-than-k/) | [Link](./lib/medium/713_subarray_product_less_than_k.rb) | [Link](./test/medium/test_713_subarray_product_less_than_k.rb) | +| 720. Longest Word in Dictionary | [Link](https://leetcode.com/problems/longest-word-in-dictionary/) | [Link](./lib/medium/720_longest_word_in_dictionary.rb) | [Link](./test/medium/test_720_longest_word_in_dictionary.rb) | +| 725. Split Linked List in Parts | [Link](https://leetcode.com/problems/split-linked-list-in-parts/) | [Link](./lib/medium/725_split_linked_list_in_parts.rb) | [Link](./test/medium/test_725_split_linked_list_in_parts.rb) | +| 729. My Calendar I | [Link](https://leetcode.com/problems/my-calendar-i/) | [Link](./lib/medium/729_my_calendar_i.rb) | [Link](./test/medium/test_729_my_calendar_i.rb) | +| 735. Asteroid Collision | [Link](https://leetcode.com/problems/asteroid-collision/) | [Link](./lib/medium/735_asteroid_collision.rb) | [Link](./test/medium/test_735_asteroid_collision.rb) | +| 739. Daily Temperatures | [Link](https://leetcode.com/problems/daily-temperatures/) | [Link](./lib/medium/739_daily_temperatures.rb) | [Link](./test/medium/test_739_daily_temperatures.rb) | +| 763. Partition Labels | [Link](https://leetcode.com/problems/partition-labels/) | [Link](./lib/medium/763_partition_labels.rb) | [Link](./test/medium/test_763_partition_labels.rb) | +| 784. Letter Case Permutation | [Link](https://leetcode.com/problems/letter-case-permutation/) | [Link](./lib/medium/784_letter_case_permutation.rb) | [Link](./test/medium/test_784_letter_case_permutation.rb) | +| 797. All Paths From Source to Target | [Link](https://leetcode.com/problems/all-paths-from-source-to-target/) | [Link](./lib/medium/797_all_paths_from_source_to_target.rb) | [Link](./test/medium/test_797_all_paths_from_source_to_target.rb) | +| 814. Binary Tree Pruning | [Link](https://leetcode.com/problems/binary-tree-pruning/) | [Link](./lib/medium/814_binary_tree_pruning.rb) | [Link](./test/medium/test_814_binary_tree_pruning.rb) | +| 817. Linked List Components | [Link](https://leetcode.com/problems/linked-list-components/) | [Link](./lib/medium/817_linked_list_components.rb) | [Link](./test/medium/test_817_linked_list_components.rb) | +| 823. Binary Trees With Factors | [Link](https://leetcode.com/problems/binary-trees-with-factors/) | [Link](./lib/medium/823_binary_trees_with_factors.rb) | [Link](./test/medium/test_823_binary_trees_with_factors.rb) | +| 841. Keys and Rooms | [Link](https://leetcode.com/problems/keys-and-rooms/) | [Link](./lib/medium/841_keys_and_rooms.rb) | [Link](./test/medium/test_841_keys_and_rooms.rb) | +| 852. Peak Index in a Mountain Array | [Link](https://leetcode.com/problems/peak-index-in-a-mountain-array/) | [Link](./lib/medium/852_peak_index_in_a_mountain_array.rb) | [Link](./test/medium/test_852_peak_index_in_a_mountain_array.rb) | +| 856. Score of Parentheses | [Link](https://leetcode.com/problems/score-of-parentheses/) | [Link](./lib/medium/856_score_of_parentheses.rb) | [Link](./test/medium/test_856_score_of_parentheses.rb) | +| 858. Mirror Reflection | [Link](https://leetcode.com/problems/mirror-reflection/) | [Link](./lib/medium/858_mirror_reflection.rb) | [Link](./test/medium/test_858_mirror_reflection.rb) | +| 863. All Nodes Distance K in Binary Tree | [Link](https://leetcode.com/problems/all-nodes-distance-k-in-binary-tree/) | [Link](./lib/medium/863_all_nodes_distance_k_in_binary_tree.rb) | [Link](./test/medium/test_863_all_nodes_distance_k_in_binary_tree.rb) | +| 865. Smallest Subtree with all the Deepest Nodes | [Link](https://leetcode.com/problems/smallest-subtree-with-all-the-deepest-nodes/) | [Link](./lib/medium/865_smallest_subtree_with_all_the_deepest_nodes.rb) | [Link](./test/medium/test_865_smallest_subtree_with_all_the_deepest_nodes.rb) | +| 869. Reordered Power of 2 | [Link](https://leetcode.com/problems/reordered-power-of-2/) | [Link](./lib/medium/869_reordered_power_of_2.rb) | [Link](./test/medium/test_869_reordered_power_of_2.rb) | +| 880. Decoded String at Index | [Link](https://leetcode.com/problems/decoded-string-at-index/) | [Link](./lib/medium/880_decoded_string_at_index.rb) | [Link](./test/medium/test_880_decoded_string_at_index.rb) | +| 889. Construct Binary Tree from Preorder and Postorder Traversal | [Link](https://leetcode.com/problems/construct-binary-tree-from-preorder-and-postorder-traversal/) | [Link](./lib/medium/889_construct_binary_tree_from_preorder_and_postorder_traversal.rb) | [Link](./test/medium/test_889_construct_binary_tree_from_preorder_and_postorder_traversal.rb) | +| 890. Find and Replace Pattern | [Link](https://leetcode.com/problems/find-and-replace-pattern/) | [Link](./lib/medium/890_find_and_replace_pattern.rb) | [Link](./test/medium/test_890_find_and_replace_pattern.rb) | +| 894. All Possible Full Binary Trees | [Link](https://leetcode.com/problems/all-possible-full-binary-trees/) | [Link](./lib/medium/894_all_possible_full_binary_trees.rb) | [Link](./test/medium/test_894_all_possible_full_binary_trees.rb) | +| 901. Online Stock Span | [Link](https://leetcode.com/problems/online-stock-span/) | [Link](./lib/medium/901_online_stock_span.rb) | [Link](./test/medium/test_901_online_stock_span.rb) | +| 910. Smallest Range II | [Link](https://leetcode.com/problems/smallest-range-ii/) | [Link](./lib/medium/910_smallest_range_ii.rb) | [Link](./test/medium/test_910_smallest_range_ii.rb) | +| 912. Sort an Array | [Link](https://leetcode.com/problems/sort-an-array/) | [Link](./lib/medium/912_sort_an_array.rb) | [Link](./test/medium/test_912_sort_an_array.rb) | +| 916. Word Subsets | [Link](https://leetcode.com/problems/word-subsets/) | [Link](./lib/medium/916_word_subsets.rb) | [Link](./test/medium/test_916_word_subsets.rb) | +| 919. Complete Binary Tree Inserter | [Link](https://leetcode.com/problems/complete-binary-tree-inserter/) | [Link](./lib/medium/919_complete_binary_tree_inserter.rb) | [Link](./test/medium/test_919_complete_binary_tree_inserter.rb) | +| 921. Minimum Add to Make Parentheses Valid | [Link](https://leetcode.com/problems/minimum-add-to-make-parentheses-valid/) | [Link](./lib/medium/921_minimum_add_to_make_parentheses_valid.rb) | [Link](./test/medium/test_921_minimum_add_to_make_parentheses_valid.rb) | +| 937. Reorder Data in Log Files | [Link](https://leetcode.com/problems/reorder-data-in-log-files/) | [Link](./lib/medium/937_reorder_data_in_log_files.rb) | [Link](./test/medium/test_937_reorder_data_in_log_files.rb) | +| 946. Validate Stack Sequences | [Link](https://leetcode.com/problems/validate-stack-sequences/) | [Link](./lib/medium/946_validate_stack_sequences.rb) | [Link](./test/medium/test_946_validate_stack_sequences.rb) | +| 950. Reveal Cards In Increasing Order | [Link](https://leetcode.com/problems/reveal-cards-in-increasing-order/) | [Link](./lib/medium/950_reveal_cards_in_increasing_order.rb) | [Link](./test/medium/test_950_reveal_cards_in_increasing_order.rb) | +| 951. Flip Equivalent Binary Trees | [Link](https://leetcode.com/problems/flip-equivalent-binary-trees/) | [Link](./lib/medium/951_flip_equivalent_binary_trees.rb) | [Link](./test/medium/test_951_flip_equivalent_binary_trees.rb) | +| 958. Check Completeness of a Binary Tree | [Link](https://leetcode.com/problems/check-completeness-of-a-binary-tree/) | [Link](./lib/medium/958_check_completeness_of_a_binary_tree.rb) | [Link](./test/medium/test_958_check_completeness_of_a_binary_tree.rb) | +| 967. Numbers With Same Consecutive Differences | [Link](https://leetcode.com/problems/numbers-with-same-consecutive-differences/) | [Link](./lib/medium/967_numbers_with_same_consecutive_differences.rb) | [Link](./test/medium/test_967_numbers_with_same_consecutive_differences.rb) | +| 973. K Closest Points to Origin | [Link](https://leetcode.com/problems/k-closest-points-to-origin/) | [Link](./lib/medium/973_k_closest_points_to_origin.rb) | [Link](./test/medium/test_973_k_closest_points_to_origin.rb) | +| 979. Distribute Coins in Binary Tree | [Link](https://leetcode.com/problems/distribute-coins-in-binary-tree/) | [Link](./lib/medium/979_distribute_coins_in_binary_tree.rb) | [Link](./test/medium/test_979_distribute_coins_in_binary_tree.rb) | +| 981. Time Based Key-Value Store | [Link](https://leetcode.com/problems/time-based-key-value-store/) | [Link](./lib/medium/981_time_based_key_value_store.rb) | [Link](./test/medium/test_981_time_based_key_value_store.rb) | +| 985. Sum of Even Numbers After Queries | [Link](https://leetcode.com/problems/sum-of-even-numbers-after-queries/) | [Link](./lib/medium/985_sum_of_even_numbers_after_queries.rb) | [Link](./test/medium/test_985_sum_of_even_numbers_after_queries.rb) | +| 988. Smallest String Starting From Leaf | [Link](https://leetcode.com/problems/smallest-string-starting-from-leaf/) | [Link](./lib/medium/988_smallest_string_starting_from_leaf.rb) | [Link](./test/medium/test_988_smallest_string_starting_from_leaf.rb) | +| 998. Maximum Binary Tree II | [Link](https://leetcode.com/problems/maximum-binary-tree-ii/) | [Link](./lib/medium/998_maximum_binary_tree_ii.rb) | [Link](./test/medium/test_998_maximum_binary_tree_ii.rb) | +| 1008. Construct Binary Search Tree from Preorder Traversal | [Link](https://leetcode.com/problems/construct-binary-search-tree-from-preorder-traversal/) | [Link](./lib/medium/1008_construct_binary_search_tree_from_preorder_traversal.rb) | [Link](./test/medium/test_1008_construct_binary_search_tree_from_preorder_traversal.rb) | +| 1019. Next Greater Node In Linked List | [Link](https://leetcode.com/problems/next-greater-node-in-linked-list/) | [Link](./lib/medium/1019_next_greater_node_in_linked_list.rb) | [Link](./test/medium/test_1019_next_greater_node_in_linked_list.rb) | +| 1023. Camelcase Matching | [Link](https://leetcode.com/problems/camelcase-matching/) | [Link](./lib/medium/1023_camelcase_matching.rb) | [Link](./test/medium/test_1023_camelcase_matching.rb) | +| 1026. Maximum Difference Between Node and Ancestor | [Link](https://leetcode.com/problems/maximum-difference-between-node-and-ancestor/) | [Link](./lib/medium/1026_maximum_difference_between_node_and_ancestor.rb) | [Link](./test/medium/test_1026_maximum_difference_between_node_and_ancestor.rb) | +| 1038. Binary Search Tree to Greater Sum Tree | [Link](https://leetcode.com/problems/binary-search-tree-to-greater-sum-tree/) | [Link](./lib/medium/1038_binary_search_tree_to_greater_sum_tree.rb) | [Link](./test/medium/test_1038_binary_search_tree_to_greater_sum_tree.rb) | +| 1043. Partition Array for Maximum Sum | [Link](https://leetcode.com/problems/partition-array-for-maximum-sum/) | [Link](./lib/medium/1043_partition_array_for_maximum_sum.rb) | [Link](./test/medium/test_1043_partition_array_for_maximum_sum.rb) | +| 1079. Letter Tile Possibilities | [Link](https://leetcode.com/problems/letter-tile-possibilities/) | [Link](./lib/medium/1079_letter_tile_possibilities.rb) | [Link](./test/medium/test_1079_letter_tile_possibilities.rb) | +| 1081. Smallest Subsequence of Distinct Characters | [Link](https://leetcode.com/problems/smallest-subsequence-of-distinct-characters/) | [Link](./lib/medium/1081_smallest_subsequence_of_distinct_characters.rb) | [Link](./test/medium/test_1081_smallest_subsequence_of_distinct_characters.rb) | +| 1110. Delete Nodes And Return Forest | [Link](https://leetcode.com/problems/delete-nodes-and-return-forest/) | [Link](./lib/medium/1110_delete_nodes_and_return_forest.rb) | [Link](./test/medium/test_1110_delete_nodes_and_return_forest.rb) | +| 1111. Maximum Nesting Depth of Two Valid Parentheses Strings | [Link](https://leetcode.com/problems/maximum-nesting-depth-of-two-valid-parentheses-strings/) | [Link](./lib/medium/1111_maximum_nesting_depth_of_two_valid_parentheses_strings.rb) | [Link](./test/medium/test_1111_maximum_nesting_depth_of_two_valid_parentheses_strings.rb) | +| 1123. Lowest Common Ancestor of Deepest Leaves | [Link](https://leetcode.com/problems/lowest-common-ancestor-of-deepest-leaves/) | [Link](./lib/medium/1123_lowest_common_ancestor_of_deepest_leaves.rb) | [Link](./test/medium/test_1123_lowest_common_ancestor_of_deepest_leaves.rb) | +| 1161. Maximum Level Sum of a Binary Tree | [Link](https://leetcode.com/problems/maximum-level-sum-of-a-binary-tree/) | [Link](./lib/medium/1161_maximum_level_sum_of_a_binary_tree.rb) | [Link](./test/medium/test_1161_maximum_level_sum_of_a_binary_tree.rb) | +| 1171. Remove Zero Sum Consecutive Nodes from Linked List | [Link](https://leetcode.com/problems/remove-zero-sum-consecutive-nodes-from-linked-list/) | [Link](./lib/medium/1171_remove_zero_sum_consecutive_nodes_from_linked_list.rb) | [Link](./test/medium/test_1171_remove_zero_sum_consecutive_nodes_from_linked_list.rb) | +| 1209. Remove All Adjacent Duplicates in String II | [Link](https://leetcode.com/problems/remove-all-adjacent-duplicates-in-string-ii/) | [Link](./lib/medium/1209_remove_all_adjacent_duplicates_in_string_ii.rb) | [Link](./test/medium/test_1209_remove_all_adjacent_duplicates_in_string_ii.rb) | +| 1247. Minimum Swaps to Make Strings Equal | [Link](https://leetcode.com/problems/minimum-swaps-to-make-strings-equal/) | [Link](./lib/medium/1247_minimum_swaps_to_make_strings_equal.rb) | [Link](./test/medium/test_1247_minimum_swaps_to_make_strings_equal.rb) | +| 1248. Count Number of Nice Subarrays | [Link](https://leetcode.com/problems/count-number-of-nice-subarrays/) | [Link](./lib/medium/1248_count_number_of_nice_subarrays.rb) | [Link](./test/medium/test_1248_count_number_of_nice_subarrays.rb) | +| 1249. Minimum Remove to Make Valid Parentheses | [Link](https://leetcode.com/problems/minimum-remove-to-make-valid-parentheses/) | [Link](./lib/medium/1249_minimum_remove_to_make_valid_parentheses.rb) | [Link](./test/medium/test_1249_minimum_remove_to_make_valid_parentheses.rb) | +| 1261. Find Elements in a Contaminated Binary Tree | [Link](https://leetcode.com/problems/find-elements-in-a-contaminated-binary-tree/) | [Link](./lib/medium/1261_find_elements_in_a_contaminated_binary_tree.rb) | [Link](./test/medium/test_1261_find_elements_in_a_contaminated_binary_tree.rb) | +| 1288. Remove Covered Intervals | [Link](https://leetcode.com/problems/remove-covered-intervals/) | [Link](./lib/medium/1288_remove_covered_intervals.rb) | [Link](./test/medium/test_1288_remove_covered_intervals.rb) | +| 1302. Deepest Leaves Sum | [Link](https://leetcode.com/problems/deepest-leaves-sum/) | [Link](./lib/medium/1302_deepest_leaves_sum.rb) | [Link](./test/medium/test_1302_deepest_leaves_sum.rb) | +| 1305. All Elements in Two Binary Search Trees | [Link](https://leetcode.com/problems/all-elements-in-two-binary-search-trees/) | [Link](./lib/medium/1305_all_elements_in_two_binary_search_trees.rb) | [Link](./test/medium/test_1305_all_elements_in_two_binary_search_trees.rb) | +| 1310. XOR Queries of a Subarray | [Link](https://leetcode.com/problems/xor-queries-of-a-subarray/) | [Link](./lib/medium/1310_xor_queries_of_a_subarray.rb) | [Link](./test/medium/test_1310_xor_queries_of_a_subarray.rb) | +| 1315. Sum of Nodes with Even-Valued Grandparent | [Link](https://leetcode.com/problems/sum-of-nodes-with-even-valued-grandparent/) | [Link](./lib/medium/1315_sum_of_nodes_with_even_valued_grandparent.rb) | [Link](./test/medium/test_1315_sum_of_nodes_with_even_valued_grandparent.rb) | +| 1325. Delete Leaves With a Given Value | [Link](https://leetcode.com/problems/delete-leaves-with-a-given-value/) | [Link](./lib/medium/1325_delete_leaves_with_a_given_value.rb) | [Link](./test/medium/test_1325_delete_leaves_with_a_given_value.rb) | +| 1329. Sort the Matrix Diagonally | [Link](https://leetcode.com/problems/sort-the-matrix-diagonally/) | [Link](./lib/medium/1329_sort_the_matrix_diagonally.rb) | [Link](./test/medium/test_1329_sort_the_matrix_diagonally.rb) | +| 1338. Reduce Array Size to The Half | [Link](https://leetcode.com/problems/reduce-array-size-to-the-half/) | [Link](./lib/medium/1338_reduce_array_size_to_the_half.rb) | [Link](./test/medium/test_1338_reduce_array_size_to_the_half.rb) | +| 1339. Maximum Product of Splitted Binary Tree | [Link](https://leetcode.com/problems/maximum-product-of-splitted-binary-tree/) | [Link](./lib/medium/1339_maximum_product_of_splitted_binary_tree.rb) | [Link](./test/medium/test_1339_maximum_product_of_splitted_binary_tree.rb) | +| 1343. Number of Sub-arrays of Size K and Average Greater than or Equal to Threshold | [Link](https://leetcode.com/problems/number-of-sub-arrays-of-size-k-and-average-greater-than-or-equal-to-threshold/) | [Link](./lib/medium/1343_number_of_sub_arrays_of_size_k_and_average_greater_than_or_equal_to_threshold.rb) | [Link](./test/medium/test_1343_number_of_sub_arrays_of_size_k_and_average_greater_than_or_equal_to_threshold.rb) | +| 1400. Construct K Palindrome Strings | [Link](https://leetcode.com/problems/construct-k-palindrome-strings/) | [Link](./lib/medium/1400_construct_k_palindrome_strings.rb) | [Link](./test/medium/test_1400_construct_k_palindrome_strings.rb) | +| 2116. Check if a Parentheses String Can Be Valid | [Link](https://leetcode.com/problems/check-if-a-parentheses-string-can-be-valid/) | [Link](./lib/medium/2116_check_if_a_parentheses_string_can_be_valid.rb) | [Link](./test/medium/test_2116_check_if_a_parentheses_string_can_be_valid.rb) | +| 2425. Bitwise XOR of All Pairings | [Link](https://leetcode.com/problems/bitwise-xor-of-all-pairings/) | [Link](./lib/medium/2425_bitwise_xor_of_all_pairings.rb) | [Link](./test/medium/test_2425_bitwise_xor_of_all_pairings.rb) | +| 2429. Minimize XOR | [Link](https://leetcode.com/problems/minimize-xor/) | [Link](./lib/medium/2429_minimize_xor.rb) | [Link](./test/medium/test_2429_minimize_xor.rb) | +| 2657. Find the Prefix Common Array of Two Arrays | [Link](https://leetcode.com/problems/find-the-prefix-common-array-of-two-arrays/) | [Link](./lib/medium/2657_find_the_prefix_common_array_of_two_arrays.rb) | [Link](./test/medium/test_2657_find_the_prefix_common_array_of_two_arrays.rb) | +| 2683. Neighboring Bitwise XOR | [Link](https://leetcode.com/problems/neighboring-bitwise-xor/) | [Link](./lib/medium/2683_neighboring_bitwise_xor.rb) | [Link](./test/medium/test_2683_neighboring_bitwise_xor.rb) | +| 3223. Minimum Length of String After Operations | [Link](https://leetcode.com/problems/minimum-length-of-string-after-operations/) | [Link](./lib/medium/3223_minimum_length_of_string_after_operations.rb) | [Link](./test/medium/test_3223_minimum_length_of_string_after_operations.rb) | ### Hard diff --git a/leetcode-ruby.gemspec b/leetcode-ruby.gemspec index 31f77bde..58055398 100644 --- a/leetcode-ruby.gemspec +++ b/leetcode-ruby.gemspec @@ -5,7 +5,7 @@ require 'English' ::Gem::Specification.new do |s| s.required_ruby_version = '>= 3.0' s.name = 'leetcode-ruby' - s.version = '8.4.8' + s.version = '8.4.9' s.license = 'MIT' s.files = ::Dir['lib/**/*.rb'] + %w[README.md] s.executable = 'leetcode-ruby' diff --git a/lib/medium/1343_number_of_sub_arrays_of_size_k_and_average_greater_than_or_equal_to_threshold.rb b/lib/medium/1343_number_of_sub_arrays_of_size_k_and_average_greater_than_or_equal_to_threshold.rb new file mode 100644 index 00000000..7c0abcd3 --- /dev/null +++ b/lib/medium/1343_number_of_sub_arrays_of_size_k_and_average_greater_than_or_equal_to_threshold.rb @@ -0,0 +1,28 @@ +# frozen_string_literal: true + +# https://leetcode.com/problems/number-of-sub-arrays-of-size-k-and-average-greater-than-or-equal-to-threshold/ +# @param {Integer[]} arr +# @param {Integer} k +# @param {Integer} threshold +# @return {Integer} +def num_of_subarrays(arr, k, threshold) + result = 0 + left = 0 + sum = 0 + border = k - 1 + + (0...arr.size).each do |i| + sum += arr[i] + + next unless i >= border + + unless i == border + sum -= arr[left] + left += 1 + end + + result += 1 if (sum / k) >= threshold + end + + result +end diff --git a/test/medium/test_1343_number_of_sub_arrays_of_size_k_and_average_greater_than_or_equal_to_threshold.rb b/test/medium/test_1343_number_of_sub_arrays_of_size_k_and_average_greater_than_or_equal_to_threshold.rb new file mode 100644 index 00000000..956d9dfd --- /dev/null +++ b/test/medium/test_1343_number_of_sub_arrays_of_size_k_and_average_greater_than_or_equal_to_threshold.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +require_relative '../test_helper' +require_relative '../../lib/medium/1343_number_of_sub_arrays_of_size_k_and_average_greater_than_or_equal_to_threshold' +require 'minitest/autorun' + +class NumberOfSubArraysOfSizeKAndAverageGreaterThanOrEqualToThresholdTest < ::Minitest::Test + def test_default_one + assert_equal( + 3, + num_of_subarrays( + [2, 2, 2, 2, 5, 5, 5, 8], + 3, + 4 + ) + ) + end + + def test_default_two + assert_equal( + 6, + num_of_subarrays( + [11, 13, 17, 23, 29, 31, 7, 5, 2, 3], + 3, + 5 + ) + ) + end +end