leetcode-py-sdk 0.47.0__tar.gz → 1.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (343) hide show
  1. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/PKG-INFO +9 -10
  2. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/README.md +7 -8
  3. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/pyproject.toml +2 -2
  4. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/all_nodes_distance_k_in_binary_tree.json +82 -0
  5. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/asteroid_collision.json +88 -0
  6. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/backspace_string_compare.json +85 -0
  7. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/baseball_game.json +82 -0
  8. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/basic_calculator_ii.json +94 -0
  9. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/best_time_to_buy_and_sell_stock_ii.json +99 -0
  10. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/binary_tree_zigzag_level_order_traversal.json +91 -0
  11. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/bitwise_and_of_numbers_range.json +99 -0
  12. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/boats_to_save_people.json +88 -0
  13. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/build_a_matrix_with_conditions.json +85 -0
  14. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/bus_routes.json +82 -0
  15. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/candy.json +96 -0
  16. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/capacity_to_ship_packages_within_d_days.json +88 -0
  17. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/car_pooling.json +91 -0
  18. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/combination_sum_iv.json +82 -0
  19. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/combinations.json +93 -0
  20. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/concatenation_of_array.json +83 -0
  21. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/construct_quad_tree.json +82 -0
  22. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/contains_duplicate_ii.json +85 -0
  23. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/convert_sorted_array_to_binary_search_tree.json +90 -0
  24. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/course_schedule_iv.json +94 -0
  25. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/delete_leaves_with_a_given_value.json +94 -0
  26. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/delete_node_in_a_bst.json +85 -0
  27. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/design_circular_queue.json +109 -0
  28. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/design_hash_map.json +92 -0
  29. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/design_hash_set.json +92 -0
  30. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/design_hit_counter.json +86 -0
  31. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/dota2_senate.json +82 -0
  32. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/employee_free_time.json +85 -0
  33. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/evaluate_division.json +85 -0
  34. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/excel_sheet_column_title.json +99 -0
  35. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/extra_characters_in_a_string.json +85 -0
  36. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/find_critical_and_pseudo_critical_edges_in_minimum_spanning_tree.json +87 -0
  37. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/find_in_mountain_array.json +91 -0
  38. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/find_the_town_judge.json +88 -0
  39. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/four_sum.json +77 -0
  40. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/gcd_of_strings.json +94 -0
  41. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/greatest_common_divisor_traversal.json +88 -0
  42. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/guess_number_higher_or_lower.json +85 -0
  43. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/house_robber_iii.json +81 -0
  44. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/implement_stack_using_queues.json +96 -0
  45. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/inorder_successor_in_bst.json +88 -0
  46. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/insert_delete_getrandom_o1.json +94 -0
  47. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/insert_greatest_common_divisors_in_linked_list.json +90 -0
  48. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/insert_into_a_binary_search_tree.json +84 -0
  49. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/integer_break.json +82 -0
  50. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/ipo.json +82 -0
  51. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/island_perimeter.json +85 -0
  52. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/jump_game_vii.json +83 -0
  53. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/largest_number.json +91 -0
  54. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/last_stone_weight_ii.json +85 -0
  55. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/lemonade_change.json +83 -0
  56. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/lfu_cache.json +89 -0
  57. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/longest_happy_string.json +93 -0
  58. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/longest_turbulent_subarray.json +88 -0
  59. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/majority_element_ii.json +85 -0
  60. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/matchsticks_to_square.json +82 -0
  61. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/maximal_square.json +93 -0
  62. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/maximum_frequency_stack.json +86 -0
  63. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/maximum_sum_circular_subarray.json +88 -0
  64. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/meeting_rooms_iii.json +84 -0
  65. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/merge_sorted_array.json +99 -0
  66. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/merge_strings_alternately.json +86 -0
  67. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/minimum_array_end.json +90 -0
  68. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/minimum_knight_moves.json +91 -0
  69. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/minimum_size_subarray_sum.json +85 -0
  70. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/move_zeroes.json +82 -0
  71. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/n_queens_ii.json +76 -0
  72. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/n_th_tribonacci_number.json +92 -0
  73. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/online_stock_span.json +87 -0
  74. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/open_the_lock.json +84 -0
  75. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/palindrome_linked_list.json +91 -0
  76. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/palindrome_pairs.json +85 -0
  77. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/partition_to_k_equal_sum_subsets.json +79 -0
  78. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/path_with_minimum_effort.json +88 -0
  79. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/perfect_squares.json +84 -0
  80. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/permutations_ii.json +77 -0
  81. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/random_pick_with_weight.json +87 -0
  82. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/range_sum_query_2d_immutable.json +84 -0
  83. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/remove_duplicates_from_sorted_array.json +79 -0
  84. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/remove_element.json +79 -0
  85. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/reorganize_string.json +77 -0
  86. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/reverse_string.json +82 -0
  87. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/rotate_list.json +92 -0
  88. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/search_in_rotated_sorted_array_ii.json +96 -0
  89. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/search_insert_position.json +77 -0
  90. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/shortest_path_in_binary_matrix.json +77 -0
  91. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/simplify_path.json +105 -0
  92. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/single_threaded_cpu.json +85 -0
  93. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/smallest_range_covering_elements_from_k_lists.json +82 -0
  94. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/sort_an_array.json +85 -0
  95. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/sort_list.json +93 -0
  96. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/split_array_largest_sum.json +82 -0
  97. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/sqrtx.json +96 -0
  98. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/squares_of_a_sorted_array.json +79 -0
  99. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/stone_game.json +85 -0
  100. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/stone_game_ii.json +91 -0
  101. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/stone_game_iii.json +96 -0
  102. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/sudoku_solver.json +85 -0
  103. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/sum_of_all_subset_xor_totals.json +88 -0
  104. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/symmetric_tree.json +91 -0
  105. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/transpose_matrix.json +81 -0
  106. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/unique_paths_ii.json +77 -0
  107. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/valid_palindrome_ii.json +84 -0
  108. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/verifying_an_alien_dictionary.json +88 -0
  109. leetcode_py_sdk-1.0.0/src/leetcode_py/cli/resources/leetcode/json/problems/word_break_ii.json +99 -0
  110. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/tags.json5 +180 -5
  111. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/__init__.py +0 -0
  112. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/__init__.py +0 -0
  113. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/commands/__init__.py +0 -0
  114. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/commands/gen.py +0 -0
  115. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/commands/list.py +0 -0
  116. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/commands/scrape.py +0 -0
  117. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/main.py +0 -0
  118. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/cookiecutter.json +0 -0
  119. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/accounts_merge.json +0 -0
  120. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/add_binary.json +0 -0
  121. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/add_two_numbers.json +0 -0
  122. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/alien_dictionary.json +0 -0
  123. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/balanced_binary_tree.json +0 -0
  124. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/basic_calculator.json +0 -0
  125. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/best_time_to_buy_and_sell_stock.json +0 -0
  126. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/best_time_to_buy_and_sell_stock_with_cooldown.json +0 -0
  127. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/binary_search.json +0 -0
  128. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/binary_tree_inorder_traversal.json +0 -0
  129. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/binary_tree_level_order_traversal.json +0 -0
  130. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/binary_tree_maximum_path_sum.json +0 -0
  131. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/binary_tree_postorder_traversal.json +0 -0
  132. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/binary_tree_preorder_traversal.json +0 -0
  133. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/binary_tree_right_side_view.json +0 -0
  134. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/burst_balloons.json +0 -0
  135. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/car_fleet.json +0 -0
  136. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/cheapest_flights_within_k_stops.json +0 -0
  137. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/climbing_stairs.json +0 -0
  138. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/clone_graph.json +0 -0
  139. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/coin_change.json +0 -0
  140. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/coin_change_ii.json +0 -0
  141. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/combination_sum.json +0 -0
  142. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/combination_sum_ii.json +0 -0
  143. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/construct_binary_tree_from_preorder_and_inorder_traversal.json +0 -0
  144. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/container_with_most_water.json +0 -0
  145. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/contains_duplicate.json +0 -0
  146. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/contiguous_array.json +0 -0
  147. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/copy_list_with_random_pointer.json +0 -0
  148. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/count_good_nodes_in_binary_tree.json +0 -0
  149. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/counting_bits.json +0 -0
  150. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/course_schedule.json +0 -0
  151. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/course_schedule_ii.json +0 -0
  152. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/daily_temperatures.json +0 -0
  153. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/decode_string.json +0 -0
  154. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/decode_ways.json +0 -0
  155. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/design_add_and_search_words_data_structure.json +0 -0
  156. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/design_in_memory_file_system.json +0 -0
  157. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/design_twitter.json +0 -0
  158. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/detect_squares.json +0 -0
  159. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/diagonal_traverse.json +0 -0
  160. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/diameter_of_binary_tree.json +0 -0
  161. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/distinct_subsequences.json +0 -0
  162. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/edit_distance.json +0 -0
  163. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/encode_and_decode_strings.json +0 -0
  164. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/evaluate_reverse_polish_notation.json +0 -0
  165. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/find_all_anagrams_in_a_string.json +0 -0
  166. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/find_first_and_last_position_of_element_in_sorted_array.json +0 -0
  167. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/find_k_closest_elements.json +0 -0
  168. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/find_median_from_data_stream.json +0 -0
  169. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/find_minimum_in_rotated_sorted_array.json +0 -0
  170. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/find_the_duplicate_number.json +0 -0
  171. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/first_bad_version.json +0 -0
  172. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/first_missing_positive.json +0 -0
  173. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/flood_fill.json +0 -0
  174. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/gas_station.json +0 -0
  175. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/generate_parentheses.json +0 -0
  176. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/graph_valid_tree.json +0 -0
  177. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/group_anagrams.json +0 -0
  178. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/hand_of_straights.json +0 -0
  179. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/happy_number.json +0 -0
  180. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/house_robber.json +0 -0
  181. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/house_robber_ii.json +0 -0
  182. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/implement_queue_using_stacks.json +0 -0
  183. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/implement_trie_prefix_tree.json +0 -0
  184. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/insert_interval.json +0 -0
  185. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/interleaving_string.json +0 -0
  186. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/invert_binary_tree.json +0 -0
  187. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/is_graph_bipartite.json +0 -0
  188. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/is_subsequence.json +0 -0
  189. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/jump_game.json +0 -0
  190. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/jump_game_ii.json +0 -0
  191. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/k_closest_points_to_origin.json +0 -0
  192. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/koko_eating_bananas.json +0 -0
  193. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/kth_largest_element_in_a_stream.json +0 -0
  194. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/kth_largest_element_in_an_array.json +0 -0
  195. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/kth_smallest_element_in_a_bst.json +0 -0
  196. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/largest_rectangle_in_histogram.json +0 -0
  197. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/last_stone_weight.json +0 -0
  198. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/letter_combinations_of_a_phone_number.json +0 -0
  199. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/linked_list_cycle.json +0 -0
  200. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/linked_list_cycle_ii.json +0 -0
  201. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/longest_common_prefix.json +0 -0
  202. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/longest_common_subsequence.json +0 -0
  203. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/longest_consecutive_sequence.json +0 -0
  204. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/longest_increasing_path_in_a_matrix.json +0 -0
  205. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/longest_increasing_subsequence.json +0 -0
  206. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/longest_palindrome.json +0 -0
  207. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/longest_palindromic_substring.json +0 -0
  208. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/longest_repeating_character_replacement.json +0 -0
  209. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/longest_substring_without_repeating_characters.json +0 -0
  210. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/longest_valid_parentheses.json +0 -0
  211. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/lowest_common_ancestor_of_a_binary_search_tree.json +0 -0
  212. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/lowest_common_ancestor_of_a_binary_tree.json +0 -0
  213. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/lru_cache.json +0 -0
  214. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/majority_element.json +0 -0
  215. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/max_area_of_island.json +0 -0
  216. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/max_points_on_a_line.json +0 -0
  217. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/maximum_depth_of_binary_tree.json +0 -0
  218. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/maximum_product_subarray.json +0 -0
  219. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/maximum_profit_in_job_scheduling.json +0 -0
  220. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/maximum_subarray.json +0 -0
  221. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/maximum_width_of_binary_tree.json +0 -0
  222. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/median_of_two_sorted_arrays.json +0 -0
  223. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/meeting_rooms.json +0 -0
  224. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/meeting_rooms_ii.json +0 -0
  225. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/merge_intervals.json +0 -0
  226. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/merge_k_sorted_lists.json +0 -0
  227. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/merge_triplets_to_form_target_triplet.json +0 -0
  228. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/merge_two_sorted_lists.json +0 -0
  229. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/middle_of_the_linked_list.json +0 -0
  230. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/min_cost_climbing_stairs.json +0 -0
  231. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/min_cost_to_connect_all_points.json +0 -0
  232. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/min_stack.json +0 -0
  233. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/minimum_height_trees.json +0 -0
  234. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/minimum_interval_to_include_each_query.json +0 -0
  235. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/minimum_path_sum.json +0 -0
  236. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/minimum_window_substring.json +0 -0
  237. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/missing_number.json +0 -0
  238. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/multiply_strings.json +0 -0
  239. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/my_calendar_i.json +0 -0
  240. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/n_queens.json +0 -0
  241. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/network_delay_time.json +0 -0
  242. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/next_permutation.json +0 -0
  243. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/non_overlapping_intervals.json +0 -0
  244. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/number_of_1_bits.json +0 -0
  245. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/number_of_connected_components_in_an_undirected_graph.json +0 -0
  246. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/number_of_islands.json +0 -0
  247. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/number_of_provinces.json +0 -0
  248. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/odd_even_linked_list.json +0 -0
  249. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/pacific_atlantic_water_flow.json +0 -0
  250. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/palindrome_number.json +0 -0
  251. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/palindrome_partitioning.json +0 -0
  252. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/palindromic_substrings.json +0 -0
  253. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/partition_equal_subset_sum.json +0 -0
  254. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/partition_labels.json +0 -0
  255. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/path_sum_ii.json +0 -0
  256. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/path_sum_iii.json +0 -0
  257. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/permutation_in_string.json +0 -0
  258. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/permutations.json +0 -0
  259. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/plus_one.json +0 -0
  260. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/powx_n.json +0 -0
  261. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/product_of_array_except_self.json +0 -0
  262. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/ransom_note.json +0 -0
  263. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/reconstruct_itinerary.json +0 -0
  264. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/redundant_connection.json +0 -0
  265. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/regular_expression_matching.json +0 -0
  266. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/remove_nth_node_from_end_of_list.json +0 -0
  267. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/reorder_list.json +0 -0
  268. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/reverse_bits.json +0 -0
  269. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/reverse_integer.json +0 -0
  270. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/reverse_linked_list.json +0 -0
  271. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/reverse_linked_list_ii.json +0 -0
  272. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/reverse_nodes_in_k_group.json +0 -0
  273. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/reverse_words_in_a_string.json +0 -0
  274. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/roman_to_integer.json +0 -0
  275. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/rotate_array.json +0 -0
  276. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/rotate_image.json +0 -0
  277. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/rotting_oranges.json +0 -0
  278. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/same_tree.json +0 -0
  279. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/search_a_2d_matrix.json +0 -0
  280. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/search_in_rotated_sorted_array.json +0 -0
  281. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/serialize_and_deserialize_binary_tree.json +0 -0
  282. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/set_matrix_zeroes.json +0 -0
  283. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/single_number.json +0 -0
  284. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/single_number_iii.json +0 -0
  285. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/sliding_window_maximum.json +0 -0
  286. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/sort_colors.json +0 -0
  287. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/spiral_matrix.json +0 -0
  288. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/string_to_integer_atoi.json +0 -0
  289. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/subarray_sum_equals_k.json +0 -0
  290. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/subsets.json +0 -0
  291. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/subsets_ii.json +0 -0
  292. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/subtree_of_another_tree.json +0 -0
  293. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/sum_of_two_integers.json +0 -0
  294. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/surrounded_regions.json +0 -0
  295. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/swap_nodes_in_pairs.json +0 -0
  296. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/swim_in_rising_water.json +0 -0
  297. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/target_sum.json +0 -0
  298. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/task_scheduler.json +0 -0
  299. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/three_sum.json +0 -0
  300. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/three_sum_closest.json +0 -0
  301. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/time_based_key_value_store.json +0 -0
  302. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/top_k_frequent_elements.json +0 -0
  303. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/top_k_frequent_words.json +0 -0
  304. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/trapping_rain_water.json +0 -0
  305. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/two_sum.json +0 -0
  306. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/two_sum_ii_input_array_is_sorted.json +0 -0
  307. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/unique_paths.json +0 -0
  308. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/valid_anagram.json +0 -0
  309. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/valid_palindrome.json +0 -0
  310. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/valid_parentheses.json +0 -0
  311. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/valid_parenthesis_string.json +0 -0
  312. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/valid_sudoku.json +0 -0
  313. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/validate_binary_search_tree.json +0 -0
  314. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/walls_and_gates.json +0 -0
  315. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/word_break.json +0 -0
  316. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/word_ladder.json +0 -0
  317. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/word_search.json +0 -0
  318. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/word_search_ii.json +0 -0
  319. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/json/problems/zero_one_matrix.json +0 -0
  320. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/{{cookiecutter.problem_name}}/README.md +0 -0
  321. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/{{cookiecutter.problem_name}}/__init__.py +0 -0
  322. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/{{cookiecutter.problem_name}}/helpers.py +0 -0
  323. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/{{cookiecutter.problem_name}}/playground.ipynb +0 -0
  324. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/{{cookiecutter.problem_name}}/solution.py +0 -0
  325. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/resources/leetcode/{{cookiecutter.problem_name}}/test_solution.py +0 -0
  326. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/utils/__init__.py +0 -0
  327. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/utils/problem_finder.py +0 -0
  328. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/utils/resources.py +0 -0
  329. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/cli/utils/tag_helpers.py +0 -0
  330. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/data_structures/__init__.py +0 -0
  331. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/data_structures/_utils.py +0 -0
  332. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/data_structures/dict_tree.py +0 -0
  333. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/data_structures/doubly_list_node.py +0 -0
  334. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/data_structures/graph_node.py +0 -0
  335. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/data_structures/list_node.py +0 -0
  336. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/data_structures/tree_node.py +0 -0
  337. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/py.typed +0 -0
  338. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/tools/__init__.py +0 -0
  339. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/tools/check_test_cases.py +0 -0
  340. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/tools/generator.py +0 -0
  341. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/tools/logged_test.py +0 -0
  342. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/tools/parser.py +0 -0
  343. {leetcode_py_sdk-0.47.0 → leetcode_py_sdk-1.0.0}/src/leetcode_py/tools/scraper.py +0 -0
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: leetcode-py-sdk
3
- Version: 0.47.0
3
+ Version: 1.0.0
4
4
  Summary: Modern Python LeetCode practice environment with automated problem generation, beautiful data structure visualizations, and comprehensive testing
5
5
  Keywords: algorithms,coding-practice,data-structures,interview-prep,leetcode
6
6
  Author: Wisaroot Lertthaweedech
7
7
  Author-email: Wisaroot Lertthaweedech <l.wisaroot@gmail.com>
8
8
  License: Apache-2.0
9
- Classifier: Development Status :: 4 - Beta
9
+ Classifier: Development Status :: 5 - Production/Stable
10
10
  Classifier: Intended Audience :: Developers
11
11
  Classifier: Intended Audience :: Education
12
12
  Classifier: License :: OSI Approved :: Apache Software License
@@ -77,14 +77,13 @@ A Python package to generate professional LeetCode practice environments. Featur
77
77
  **Current Problem Sets**:
78
78
 
79
79
  - **grind-75** - Essential coding interview questions from [Grind 75](https://www.techinterviewhandbook.org/grind75/) ✅ Complete
80
- - **grind** - Extended Grind collection including all Grind 75 plus additional problems 🚧 Partial
80
+ - **grind** - Extended Grind collection including all Grind 75 plus additional problems Complete
81
81
  - **blind-75** - Original [Blind 75](https://leetcode.com/problem-list/xi4ci4ig/) curated list ✅ Complete
82
82
  - **neetcode-150** - Comprehensive [NeetCode 150](https://neetcode.io/practice) problem set ✅ Complete
83
+ - **neetcode-250** - Full [NeetCode 250](https://neetcode.io/practice) roadmap extending NeetCode 150 with 100 more problems ✅ Complete
83
84
  - **algo-master-75** - Curated algorithmic mastery problems ✅ Complete
84
85
 
85
- **Coverage**: 130+ unique problems across all major coding interview topics and difficulty levels.
86
-
87
- **Note**: Some problem sets are partially covered. We're actively working to complete all collections. [Contributions welcome!](https://github.com/wislertt/leetcode-py/blob/main/CONTRIBUTING.md)
86
+ **Coverage**: 300+ unique problems across all major coding interview topics and difficulty levels. All problem sets are complete. [Contributions welcome!](https://github.com/wislertt/leetcode-py/blob/main/CONTRIBUTING.md)
88
87
 
89
88
  ## <a id="quick-start"></a>🚀 Quick Start
90
89
 
@@ -100,7 +99,7 @@ pip install leetcode-py-sdk
100
99
  # Generate problems anywhere
101
100
  lcpy gen -n 1 # Generate Two Sum
102
101
  lcpy gen -t grind-75 # Generate all Grind 75 problems
103
- lcpy gen -t neetcode-150 # Generate NeetCode 150 problems
102
+ lcpy gen -t neetcode-250 # Generate NeetCode 250 problems
104
103
  lcpy list -t grind-75 # List Grind 75 problems
105
104
  lcpy list -t blind-75 # List Blind 75 problems
106
105
 
@@ -114,7 +113,7 @@ python -m pytest test_solution.py # Run tests
114
113
 
115
114
  ```bash
116
115
  lcpy gen --problem-tag grind-75 --output leetcode # Generate all Grind 75 problems
117
- lcpy gen --problem-tag neetcode-150 --output leetcode # Generate NeetCode 150 problems
116
+ lcpy gen --problem-tag neetcode-250 --output leetcode # Generate NeetCode 250 problems
118
117
  lcpy gen --problem-tag blind-75 --output leetcode # Generate Blind 75 problems
119
118
  ```
120
119
 
@@ -304,7 +303,7 @@ uv run python -m leetcode_py.tools.check_test_cases --threshold=10
304
303
  lcpy gen -n 1 # Single problem by number
305
304
  lcpy gen -s two-sum # Single problem by slug
306
305
  lcpy gen -t grind-75 # Bulk generation by tag
307
- lcpy gen -t neetcode-150 # Generate NeetCode 150 problems
306
+ lcpy gen -t neetcode-250 # Generate NeetCode 250 problems
308
307
  lcpy gen -n 1 -n 2 -n 3 # Multiple problems
309
308
  lcpy gen -t grind-75 -d Easy # Filter by difficulty
310
309
  lcpy gen -n 1 -o my-problems # Custom output directory
@@ -313,7 +312,7 @@ lcpy gen -n 1 -o my-problems # Custom output directory
313
312
  lcpy list # All available problems
314
313
  lcpy list -t grind-75 # Filter by Grind 75 tag
315
314
  lcpy list -t blind-75 # Filter by Blind 75 tag
316
- lcpy list -t neetcode-150 # Filter by NeetCode 150 tag
315
+ lcpy list -t neetcode-250 # Filter by NeetCode 250 tag
317
316
  lcpy list -d Medium # Filter by difficulty
318
317
 
319
318
  # Scrape problem data
@@ -41,14 +41,13 @@ A Python package to generate professional LeetCode practice environments. Featur
41
41
  **Current Problem Sets**:
42
42
 
43
43
  - **grind-75** - Essential coding interview questions from [Grind 75](https://www.techinterviewhandbook.org/grind75/) ✅ Complete
44
- - **grind** - Extended Grind collection including all Grind 75 plus additional problems 🚧 Partial
44
+ - **grind** - Extended Grind collection including all Grind 75 plus additional problems Complete
45
45
  - **blind-75** - Original [Blind 75](https://leetcode.com/problem-list/xi4ci4ig/) curated list ✅ Complete
46
46
  - **neetcode-150** - Comprehensive [NeetCode 150](https://neetcode.io/practice) problem set ✅ Complete
47
+ - **neetcode-250** - Full [NeetCode 250](https://neetcode.io/practice) roadmap extending NeetCode 150 with 100 more problems ✅ Complete
47
48
  - **algo-master-75** - Curated algorithmic mastery problems ✅ Complete
48
49
 
49
- **Coverage**: 130+ unique problems across all major coding interview topics and difficulty levels.
50
-
51
- **Note**: Some problem sets are partially covered. We're actively working to complete all collections. [Contributions welcome!](https://github.com/wislertt/leetcode-py/blob/main/CONTRIBUTING.md)
50
+ **Coverage**: 300+ unique problems across all major coding interview topics and difficulty levels. All problem sets are complete. [Contributions welcome!](https://github.com/wislertt/leetcode-py/blob/main/CONTRIBUTING.md)
52
51
 
53
52
  ## <a id="quick-start"></a>🚀 Quick Start
54
53
 
@@ -64,7 +63,7 @@ pip install leetcode-py-sdk
64
63
  # Generate problems anywhere
65
64
  lcpy gen -n 1 # Generate Two Sum
66
65
  lcpy gen -t grind-75 # Generate all Grind 75 problems
67
- lcpy gen -t neetcode-150 # Generate NeetCode 150 problems
66
+ lcpy gen -t neetcode-250 # Generate NeetCode 250 problems
68
67
  lcpy list -t grind-75 # List Grind 75 problems
69
68
  lcpy list -t blind-75 # List Blind 75 problems
70
69
 
@@ -78,7 +77,7 @@ python -m pytest test_solution.py # Run tests
78
77
 
79
78
  ```bash
80
79
  lcpy gen --problem-tag grind-75 --output leetcode # Generate all Grind 75 problems
81
- lcpy gen --problem-tag neetcode-150 --output leetcode # Generate NeetCode 150 problems
80
+ lcpy gen --problem-tag neetcode-250 --output leetcode # Generate NeetCode 250 problems
82
81
  lcpy gen --problem-tag blind-75 --output leetcode # Generate Blind 75 problems
83
82
  ```
84
83
 
@@ -268,7 +267,7 @@ uv run python -m leetcode_py.tools.check_test_cases --threshold=10
268
267
  lcpy gen -n 1 # Single problem by number
269
268
  lcpy gen -s two-sum # Single problem by slug
270
269
  lcpy gen -t grind-75 # Bulk generation by tag
271
- lcpy gen -t neetcode-150 # Generate NeetCode 150 problems
270
+ lcpy gen -t neetcode-250 # Generate NeetCode 250 problems
272
271
  lcpy gen -n 1 -n 2 -n 3 # Multiple problems
273
272
  lcpy gen -t grind-75 -d Easy # Filter by difficulty
274
273
  lcpy gen -n 1 -o my-problems # Custom output directory
@@ -277,7 +276,7 @@ lcpy gen -n 1 -o my-problems # Custom output directory
277
276
  lcpy list # All available problems
278
277
  lcpy list -t grind-75 # Filter by Grind 75 tag
279
278
  lcpy list -t blind-75 # Filter by Blind 75 tag
280
- lcpy list -t neetcode-150 # Filter by NeetCode 150 tag
279
+ lcpy list -t neetcode-250 # Filter by NeetCode 250 tag
281
280
  lcpy list -d Medium # Filter by difficulty
282
281
 
283
282
  # Scrape problem data
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "leetcode-py-sdk"
3
- version = "0.47.0" # use git tag instead
3
+ version = "1.0.0" # use git tag instead
4
4
  description = "Modern Python LeetCode practice environment with automated problem generation, beautiful data structure visualizations, and comprehensive testing"
5
5
  authors = [
6
6
  {name = "Wisaroot Lertthaweedech", email = "l.wisaroot@gmail.com"}
@@ -10,7 +10,7 @@ readme = "README.md"
10
10
  requires-python = ">=3.10"
11
11
  keywords = ["algorithms", "coding-practice", "data-structures", "interview-prep", "leetcode"]
12
12
  classifiers = [
13
- "Development Status :: 4 - Beta",
13
+ "Development Status :: 5 - Production/Stable",
14
14
  "Intended Audience :: Developers",
15
15
  "Intended Audience :: Education",
16
16
  "License :: OSI Approved :: Apache Software License",
@@ -0,0 +1,82 @@
1
+ {
2
+ "problem_name": "all_nodes_distance_k_in_binary_tree",
3
+ "solution_class_name": "Solution",
4
+ "problem_number": "863",
5
+ "problem_title": "All Nodes Distance K in Binary Tree",
6
+ "difficulty": "Medium",
7
+ "topics": "Hash Table, Tree, Depth-First Search, Breadth-First Search, Binary Tree",
8
+ "_tags": { "list": ["grind"] },
9
+ "readme_description": "Given the `root` of a binary tree, the value of a target node `target`, and an integer `k`, return an array of the values of all nodes that have a distance `k` from the target node.\n\nThe value of `target` is given as an integer (all node values are unique). You can return the answer in any order.",
10
+ "_readme_examples": {
11
+ "list": [
12
+ {
13
+ "content": "![Example 1](https://s3-lc-upload.s3.amazonaws.com/uploads/2018/06/28/sketch0.png)\n\n```\nInput: root = [3,5,1,6,2,0,8,null,null,7,4], target = 5, k = 2\nOutput: [7,4,1]\nExplanation: The nodes that are a distance 2 from the target node (with value 5) have values 7, 4, and 1.\n```"
14
+ },
15
+ {
16
+ "content": "```\nInput: root = [1], target = 1, k = 3\nOutput: []\n```"
17
+ }
18
+ ]
19
+ },
20
+ "readme_constraints": "- The number of nodes in the tree is in the range [1, 500].\n- 0 <= Node.val <= 500\n- All the values `Node.val` are **unique**.\n- `target` is the value of one of the nodes in the tree.\n- 0 <= k <= 1000",
21
+ "readme_additional": "",
22
+ "helpers_imports": "from leetcode_py import TreeNode",
23
+ "helpers_content": "",
24
+ "helpers_run_name": "distance_k",
25
+ "helpers_run_signature": "(solution_class: type, root_list: list[int | None], target: int, k: int)",
26
+ "helpers_run_body": " root = TreeNode[int].from_list(root_list)\n implementation = solution_class()\n return implementation.distance_k(root, target, k)",
27
+ "helpers_assert_name": "distance_k",
28
+ "helpers_assert_signature": "(result: list[int], expected: list[int]) -> bool",
29
+ "helpers_assert_body": " # Order does not matter; sort both sides for comparison\n assert sorted(result) == sorted(expected)\n return True",
30
+ "solution_imports": "from collections import deque\n\nfrom leetcode_py import TreeNode",
31
+ "solution_contents": "",
32
+ "solution_class_content": "",
33
+ "test_imports": "import pytest\nfrom leetcode_py import logged_test\nfrom .helpers import assert_distance_k, run_distance_k\nfrom .solution import Solution",
34
+ "test_content": "",
35
+ "test_class_name": "AllNodesDistanceKInBinaryTree",
36
+ "test_class_content": " def setup_method(self):\n self.solution = Solution()",
37
+ "_solution_methods": {
38
+ "list": [
39
+ {
40
+ "name": "distance_k",
41
+ "signature": "(self, root: TreeNode[int] | None, target: int, k: int) -> list[int]",
42
+ "body": " # TODO: Implement distance_k\n return []"
43
+ }
44
+ ]
45
+ },
46
+ "_test_helper_methods": {
47
+ "list": [{ "name": "setup_method", "parameters": "", "body": "self.solution = Solution()" }]
48
+ },
49
+ "_test_methods": {
50
+ "list": [
51
+ {
52
+ "name": "test_distance_k",
53
+ "signature": "(self, root_list: list[int | None], target: int, k: int, expected: list[int])",
54
+ "parametrize": "root_list, target, k, expected",
55
+ "test_cases": {
56
+ "list": [
57
+ "([3, 5, 1, 6, 2, 0, 8, None, None, 7, 4], 5, 2, [7, 4, 1])",
58
+ "([1], 1, 3, [])",
59
+ "([1], 1, 0, [1])",
60
+ "([3, 5, 1, 6, 2, 0, 8, None, None, 7, 4], 5, 0, [5])",
61
+ "([3, 5, 1, 6, 2, 0, 8, None, None, 7, 4], 3, 1, [5, 1])",
62
+ "([3, 5, 1, 6, 2, 0, 8, None, None, 7, 4], 3, 2, [6, 2, 0, 8])",
63
+ "([1, 2, 3, 4, 5], 2, 2, [3])",
64
+ "([1, 2, 3, 4, 5], 4, 1, [2])",
65
+ "([1, 2, 3, 4, 5], 4, 2, [1, 5])",
66
+ "([1, 2], 1, 1, [2])",
67
+ "([1, 2], 2, 1, [1])",
68
+ "([1, 2, 3], 2, 2, [3])",
69
+ "([1, None, 2, None, 3], 1, 1, [2])",
70
+ "([3, 5, 1, 6, 2, 0, 8, None, None, 7, 4], 7, 3, [3, 6])",
71
+ "([1, 2, 3, 4, 5, 6, 7], 3, 3, [4, 5])"
72
+ ]
73
+ },
74
+ "body": " result = run_distance_k(Solution, root_list, target, k)\n assert_distance_k(result, expected)"
75
+ }
76
+ ]
77
+ },
78
+ "playground_imports": "from helpers import run_distance_k, assert_distance_k\nfrom solution import Solution",
79
+ "playground_setup": "# Example test case\nroot_list: list[int | None] = [3, 5, 1, 6, 2, 0, 8, None, None, 7, 4]\ntarget = 5\nk = 2\nexpected = [7, 4, 1]",
80
+ "playground_run": "result = run_distance_k(Solution, root_list, target, k)\nresult",
81
+ "playground_assert": "assert_distance_k(result, expected)"
82
+ }
@@ -0,0 +1,88 @@
1
+ {
2
+ "problem_name": "asteroid_collision",
3
+ "solution_class_name": "Solution",
4
+ "problem_number": "735",
5
+ "problem_title": "Asteroid Collision",
6
+ "difficulty": "Medium",
7
+ "topics": "Array, Stack, Simulation",
8
+ "_tags": { "list": ["grind"] },
9
+ "readme_description": "We are given an array `asteroids` of integers representing asteroids in a row. The indices of the asteroid in the array represent their relative position in space.\n\nFor each asteroid, the absolute value represents its size, and the sign represents its direction (positive meaning right, negative meaning left). Each asteroid moves at the same speed.\n\nFind out the state of the asteroids after all collisions. If two asteroids meet, the smaller one will explode. If both are the same size, both will explode. Two asteroids moving in the same direction, or two moving away from each other, will never meet.",
10
+ "_readme_examples": {
11
+ "list": [
12
+ {
13
+ "content": "```\nInput: asteroids = [5,10,-5]\nOutput: [5,10]\nExplanation: The 10 and -5 collide resulting in 10. The 5 and 10 never collide.\n```"
14
+ },
15
+ {
16
+ "content": "```\nInput: asteroids = [8,-8]\nOutput: []\nExplanation: The 8 and -8 collide exploding each other.\n```"
17
+ },
18
+ {
19
+ "content": "```\nInput: asteroids = [10,2,-5]\nOutput: [10]\nExplanation: The 2 and -5 collide resulting in -5. The 10 and -5 collide resulting in 10.\n```"
20
+ },
21
+ {
22
+ "content": "```\nInput: asteroids = [3,5,-6,2,-1,4]\nOutput: [-6,2,4]\nExplanation: The asteroid -6 makes the asteroid 3 and 5 explode, and then continues going left. On the other side, the asteroid 2 destroys -1. Since 2 and 4 are both moving right, they never collide.\n```"
23
+ }
24
+ ]
25
+ },
26
+ "readme_constraints": "- 2 <= asteroids.length <= 10^4\n- -1000 <= asteroids[i] <= 1000\n- `asteroids[i] != 0`",
27
+ "readme_additional": "",
28
+ "helpers_imports": "",
29
+ "helpers_content": "",
30
+ "helpers_run_name": "asteroid_collision",
31
+ "helpers_run_signature": "(solution_class: type, asteroids: list[int])",
32
+ "helpers_run_body": " implementation = solution_class()\n return implementation.asteroid_collision(asteroids)",
33
+ "helpers_assert_name": "asteroid_collision",
34
+ "helpers_assert_signature": "(result: list[int], expected: list[int]) -> bool",
35
+ "helpers_assert_body": " assert result == expected\n return True",
36
+ "solution_imports": "",
37
+ "solution_contents": "",
38
+ "solution_class_content": "",
39
+ "test_imports": "import pytest\nfrom leetcode_py import logged_test\nfrom .helpers import assert_asteroid_collision, run_asteroid_collision\nfrom .solution import Solution",
40
+ "test_content": "",
41
+ "test_class_name": "AsteroidCollision",
42
+ "test_class_content": " def setup_method(self):\n self.solution = Solution()",
43
+ "_solution_methods": {
44
+ "list": [
45
+ {
46
+ "name": "asteroid_collision",
47
+ "signature": "(self, asteroids: list[int]) -> list[int]",
48
+ "body": " # TODO: Implement asteroid_collision\n return []"
49
+ }
50
+ ]
51
+ },
52
+ "_test_helper_methods": {
53
+ "list": [{ "name": "setup_method", "parameters": "", "body": "self.solution = Solution()" }]
54
+ },
55
+ "_test_methods": {
56
+ "list": [
57
+ {
58
+ "name": "test_asteroid_collision",
59
+ "signature": "(self, asteroids: list[int], expected: list[int])",
60
+ "parametrize": "asteroids, expected",
61
+ "test_cases": {
62
+ "list": [
63
+ "([5, 10, -5], [5, 10])",
64
+ "([8, -8], [])",
65
+ "([10, 2, -5], [10])",
66
+ "([3, 5, -6, 2, -1, 4], [-6, 2, 4])",
67
+ "([-2, -1, 1, 2], [-2, -1, 1, 2])",
68
+ "([1, 2, 3, 4], [1, 2, 3, 4])",
69
+ "([-1, -2, -3], [-1, -2, -3])",
70
+ "([5, 5, -5], [5])",
71
+ "([5, 10, -5, -10], [5])",
72
+ "([10, 5, -5], [10])",
73
+ "([-2, 2, -1, -2], [-2])",
74
+ "([1, -2, -3], [-2, -3])",
75
+ "([2, -1, -2], [])",
76
+ "([5, -5], [])",
77
+ "([-1, 5, -5, 1], [-1, 1])"
78
+ ]
79
+ },
80
+ "body": " result = run_asteroid_collision(Solution, asteroids)\n assert_asteroid_collision(result, expected)"
81
+ }
82
+ ]
83
+ },
84
+ "playground_imports": "from helpers import run_asteroid_collision, assert_asteroid_collision\nfrom solution import Solution",
85
+ "playground_setup": "# Example test case\nasteroids = [5, 10, -5]\nexpected = [5, 10]",
86
+ "playground_run": "result = run_asteroid_collision(Solution, asteroids)\nresult",
87
+ "playground_assert": "assert_asteroid_collision(result, expected)"
88
+ }
@@ -0,0 +1,85 @@
1
+ {
2
+ "problem_name": "backspace_string_compare",
3
+ "solution_class_name": "Solution",
4
+ "problem_number": "844",
5
+ "problem_title": "Backspace String Compare",
6
+ "difficulty": "Easy",
7
+ "topics": "Two Pointers, String, Stack, Simulation",
8
+ "_tags": { "list": ["grind"] },
9
+ "readme_description": "Given two strings `s` and `t`, return `true` if they are equal when both are typed into empty text editors. `'#'` means a backspace character.\n\nNote that after backspacing an empty text, the text will continue empty.",
10
+ "_readme_examples": {
11
+ "list": [
12
+ {
13
+ "content": "```\nInput: s = \"ab#c\", t = \"ad#c\"\nOutput: true\nExplanation: Both s and t become \"ac\".\n```"
14
+ },
15
+ {
16
+ "content": "```\nInput: s = \"ab##\", t = \"c#d#\"\nOutput: true\nExplanation: Both s and t become \"\".\n```"
17
+ },
18
+ {
19
+ "content": "```\nInput: s = \"a#c\", t = \"b\"\nOutput: false\nExplanation: s becomes \"c\" while t becomes \"b\".\n```"
20
+ }
21
+ ]
22
+ },
23
+ "readme_constraints": "- 1 <= s.length, t.length <= 200\n- `s` and `t` only contain lowercase letters and `'#'` characters.",
24
+ "readme_additional": "**Follow up:** Can you solve it in `O(n)` time and `O(1)` space?",
25
+ "helpers_imports": "",
26
+ "helpers_content": "",
27
+ "helpers_run_name": "backspace_compare",
28
+ "helpers_run_signature": "(solution_class: type, s: str, t: str)",
29
+ "helpers_run_body": " implementation = solution_class()\n return implementation.backspace_compare(s, t)",
30
+ "helpers_assert_name": "backspace_compare",
31
+ "helpers_assert_signature": "(result: bool, expected: bool) -> bool",
32
+ "helpers_assert_body": " assert result == expected\n return True",
33
+ "solution_imports": "",
34
+ "solution_contents": "",
35
+ "solution_class_content": "",
36
+ "test_imports": "import pytest\nfrom leetcode_py import logged_test\nfrom .helpers import assert_backspace_compare, run_backspace_compare\nfrom .solution import Solution",
37
+ "test_content": "",
38
+ "test_class_name": "BackspaceStringCompare",
39
+ "test_class_content": " def setup_method(self):\n self.solution = Solution()",
40
+ "_solution_methods": {
41
+ "list": [
42
+ {
43
+ "name": "backspace_compare",
44
+ "signature": "(self, s: str, t: str) -> bool",
45
+ "body": " # TODO: Implement backspace_compare\n return False"
46
+ }
47
+ ]
48
+ },
49
+ "_test_helper_methods": {
50
+ "list": [{ "name": "setup_method", "parameters": "", "body": "self.solution = Solution()" }]
51
+ },
52
+ "_test_methods": {
53
+ "list": [
54
+ {
55
+ "name": "test_backspace_compare",
56
+ "signature": "(self, s: str, t: str, expected: bool)",
57
+ "parametrize": "s, t, expected",
58
+ "test_cases": {
59
+ "list": [
60
+ "('ab#c', 'ad#c', True)",
61
+ "('ab##', 'c#d#', True)",
62
+ "('a#c', 'b', False)",
63
+ "('a', 'a', True)",
64
+ "('#', '#', True)",
65
+ "('a#', '', True)",
66
+ "('a#b', 'b', True)",
67
+ "('###', '', True)",
68
+ "('a##c', '#a#c', True)",
69
+ "('xywrrmp', 'xywrrmu#p', True)",
70
+ "('c##vnvr', 'vnvr', True)",
71
+ "('nzp#o', 'b#nzp#o', True)",
72
+ "('abc', 'abc', True)",
73
+ "('a', 'b', False)",
74
+ "('ab#c', 'ad#d', False)"
75
+ ]
76
+ },
77
+ "body": " result = run_backspace_compare(Solution, s, t)\n assert_backspace_compare(result, expected)"
78
+ }
79
+ ]
80
+ },
81
+ "playground_imports": "from helpers import run_backspace_compare, assert_backspace_compare\nfrom solution import Solution",
82
+ "playground_setup": "# Example test case\ns = 'ab#c'\nt = 'ad#c'\nexpected = True",
83
+ "playground_run": "result = run_backspace_compare(Solution, s, t)\nresult",
84
+ "playground_assert": "assert_backspace_compare(result, expected)"
85
+ }
@@ -0,0 +1,82 @@
1
+ {
2
+ "problem_name": "baseball_game",
3
+ "solution_class_name": "Solution",
4
+ "problem_number": "682",
5
+ "problem_title": "Baseball Game",
6
+ "difficulty": "Easy",
7
+ "topics": "Array, Stack, Simulation",
8
+ "_tags": { "list": ["neetcode-250"] },
9
+ "readme_description": "You are keeping the scores for a baseball game with strange rules. At the beginning of the game, you start with an empty record.\n\nYou are given a list of strings `operations`, where `operations[i]` is the `ith` operation you must apply to the record and is one of the following:\n\n- An integer `x`.\n - Record a new score of `x`.\n- `'+'`.\n - Record a new score that is the sum of the previous two scores.\n- `'D'`.\n - Record a new score that is the double of the previous score.\n- `'C'`.\n - Invalidate the previous score, removing it from the record.\n\nReturn the sum of all the scores on the record after applying all the operations.\n\nThe test cases are generated such that the answer and all intermediate calculations fit in a **32-bit** integer and that all operations are valid.",
10
+ "_readme_examples": {
11
+ "list": [
12
+ {
13
+ "content": "```\nInput: ops = [\"5\",\"2\",\"C\",\"D\",\"+\"]\nOutput: 30\nExplanation:\n\"5\" - Add 5 to the record, record is now [5].\n\"2\" - Add 2 to the record, record is now [5, 2].\n\"C\" - Invalidate and remove the previous score, record is now [5].\n\"D\" - Add 2 * 5 = 10 to the record, record is now [5, 10].\n\"+\" - Add 5 + 10 = 15 to the record, record is now [5, 10, 15].\nThe total sum is 5 + 10 + 15 = 30.\n```"
14
+ },
15
+ {
16
+ "content": "```\nInput: ops = [\"5\",\"-2\",\"4\",\"C\",\"D\",\"9\",\"+\",\"+\"]\nOutput: 27\n```"
17
+ },
18
+ { "content": "```\nInput: ops = [\"1\",\"C\"]\nOutput: 0\n```" }
19
+ ]
20
+ },
21
+ "readme_constraints": "- 1 <= operations.length <= 1000\n- `operations[i]` is `\"C\"`, `\"D\"`, `\"+\"`, or a string representing an integer in the range [-3 * 10^4, 3 * 10^4].\n- For operation `\"+\"`, there will always be at least two previous scores on the record.\n- For operations `\"C\"` and `\"D\"`, there will always be at least one previous score on the record.",
22
+ "readme_additional": "",
23
+ "helpers_imports": "",
24
+ "helpers_content": "",
25
+ "helpers_run_name": "cal_points",
26
+ "helpers_run_signature": "(solution_class: type, operations: list[str])",
27
+ "helpers_run_body": " implementation = solution_class()\n return implementation.cal_points(operations)",
28
+ "helpers_assert_name": "cal_points",
29
+ "helpers_assert_signature": "(result: int, expected: int) -> bool",
30
+ "helpers_assert_body": " assert result == expected\n return True",
31
+ "solution_imports": "",
32
+ "solution_contents": "",
33
+ "solution_class_content": "",
34
+ "test_imports": "import pytest\nfrom leetcode_py import logged_test\nfrom .helpers import assert_cal_points, run_cal_points\nfrom .solution import Solution",
35
+ "test_content": "",
36
+ "test_class_name": "BaseballGame",
37
+ "test_class_content": " def setup_method(self):\n self.solution = Solution()",
38
+ "_solution_methods": {
39
+ "list": [
40
+ {
41
+ "name": "cal_points",
42
+ "signature": "(self, operations: list[str]) -> int",
43
+ "body": " # TODO: Implement cal_points\n return 0"
44
+ }
45
+ ]
46
+ },
47
+ "_test_helper_methods": {
48
+ "list": [{ "name": "setup_method", "parameters": "", "body": "self.solution = Solution()" }]
49
+ },
50
+ "_test_methods": {
51
+ "list": [
52
+ {
53
+ "name": "test_cal_points",
54
+ "signature": "(self, operations: list[str], expected: int)",
55
+ "parametrize": "operations, expected",
56
+ "test_cases": {
57
+ "list": [
58
+ "(['5', '2', 'C', 'D', '+'], 30)",
59
+ "(['5', '-2', '4', 'C', 'D', '9', '+', '+'], 27)",
60
+ "(['1', 'C'], 0)",
61
+ "(['5'], 5)",
62
+ "(['1', '2', '3'], 6)",
63
+ "(['1', '2', '+', '+'], 11)",
64
+ "(['1', 'D', 'D'], 7)",
65
+ "(['-1', 'D', '+'], -6)",
66
+ "(['10', '20', 'C', 'C', '5'], 5)",
67
+ "(['1', '2', '3', 'C', 'C', 'C'], 0)",
68
+ "(['100', 'D', '+', 'C'], 300)",
69
+ "(['0', '0', '0', '+'], 0)",
70
+ "(['-5', 'D'], -15)",
71
+ "(['1', '2', 'D', '+', 'C'], 7)"
72
+ ]
73
+ },
74
+ "body": " result = run_cal_points(Solution, operations)\n assert_cal_points(result, expected)"
75
+ }
76
+ ]
77
+ },
78
+ "playground_imports": "from helpers import run_cal_points, assert_cal_points\nfrom solution import Solution",
79
+ "playground_setup": "# Example test case\noperations = ['5', '2', 'C', 'D', '+']\nexpected = 30",
80
+ "playground_run": "result = run_cal_points(Solution, operations)\nresult",
81
+ "playground_assert": "assert_cal_points(result, expected)"
82
+ }
@@ -0,0 +1,94 @@
1
+ {
2
+ "problem_name": "basic_calculator_ii",
3
+ "solution_class_name": "Solution",
4
+ "problem_number": "227",
5
+ "problem_title": "Basic Calculator II",
6
+ "difficulty": "Medium",
7
+ "topics": "Math, String, Stack",
8
+ "_tags": {
9
+ "list": ["grind"]
10
+ },
11
+ "readme_description": "Given a string `s` which represents an expression, evaluate this expression and return its value.\n\nThe integer division should truncate toward zero.\n\nYou may assume that the given expression is always valid. All intermediate results will be in the range of [-2^31, 2^31 - 1].\n\n**Note:** You are not allowed to use any built-in function which evaluates strings as mathematical expressions, such as `eval()`.",
12
+ "_readme_examples": {
13
+ "list": [
14
+ {
15
+ "content": "```\nInput: s = \"3+2*2\"\nOutput: 7\n```"
16
+ },
17
+ {
18
+ "content": "```\nInput: s = \" 3/2 \"\nOutput: 1\n```"
19
+ },
20
+ {
21
+ "content": "```\nInput: s = \" 3+5 / 2 \"\nOutput: 5\n```"
22
+ }
23
+ ]
24
+ },
25
+ "readme_constraints": "- 1 <= s.length <= 3 * 10^5\n- s consists of integers and operators ('+', '-', '*', '/') separated by some number of spaces.\n- s represents a valid expression.\n- All the integers in the expression are non-negative integers in the range [0, 2^31 - 1].\n- The answer is guaranteed to fit in a 32-bit integer.",
26
+ "readme_additional": "",
27
+ "helpers_imports": "",
28
+ "helpers_content": "",
29
+ "helpers_run_name": "calculate",
30
+ "helpers_run_signature": "(solution_class: type, s: str)",
31
+ "helpers_run_body": " implementation = solution_class()\n return implementation.calculate(s)",
32
+ "helpers_assert_name": "calculate",
33
+ "helpers_assert_signature": "(result: int, expected: int) -> bool",
34
+ "helpers_assert_body": " assert result == expected\n return True",
35
+ "solution_imports": "",
36
+ "solution_contents": "",
37
+ "solution_class_content": "",
38
+ "test_imports": "import pytest\nfrom leetcode_py import logged_test\nfrom .helpers import assert_calculate, run_calculate\nfrom .solution import Solution",
39
+ "test_content": "",
40
+ "test_class_name": "BasicCalculatorII",
41
+ "test_class_content": " def setup_method(self):\n self.solution = Solution()",
42
+ "_solution_methods": {
43
+ "list": [
44
+ {
45
+ "name": "calculate",
46
+ "signature": "(self, s: str) -> int",
47
+ "body": " # TODO: Implement calculate\n return 0"
48
+ }
49
+ ]
50
+ },
51
+ "_test_helper_methods": {
52
+ "list": [
53
+ {
54
+ "name": "setup_method",
55
+ "parameters": "",
56
+ "body": "self.solution = Solution()"
57
+ }
58
+ ]
59
+ },
60
+ "_test_methods": {
61
+ "list": [
62
+ {
63
+ "name": "test_calculate",
64
+ "signature": "(self, s: str, expected: int)",
65
+ "parametrize": "s, expected",
66
+ "test_cases": {
67
+ "list": [
68
+ "('3+2*2', 7)",
69
+ "(' 3/2 ', 1)",
70
+ "(' 3+5 / 2 ', 5)",
71
+ "('1+1', 2)",
72
+ "('1-1', 0)",
73
+ "('2*3+4', 10)",
74
+ "('10/2', 5)",
75
+ "('14-3/2', 13)",
76
+ "('0', 0)",
77
+ "('100000000/1/1', 100000000)",
78
+ "('1*2*3*4*5', 120)",
79
+ "('3+2*2*2', 11)",
80
+ "(' 5 ', 5)",
81
+ "('1-1+1', 1)",
82
+ "('2/3', 0)",
83
+ "('100-10-10', 80)"
84
+ ]
85
+ },
86
+ "body": " result = run_calculate(Solution, s)\n assert_calculate(result, expected)"
87
+ }
88
+ ]
89
+ },
90
+ "playground_imports": "from helpers import run_calculate, assert_calculate\nfrom solution import Solution",
91
+ "playground_setup": "# Example test case\ns = '3+2*2'\nexpected = 7",
92
+ "playground_run": "result = run_calculate(Solution, s)\nresult",
93
+ "playground_assert": "assert_calculate(result, expected)"
94
+ }