leetcode-py-sdk 0.46.0__tar.gz → 0.47.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.
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/PKG-INFO +1 -1
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/pyproject.toml +2 -2
- leetcode_py_sdk-0.47.0/src/leetcode_py/cli/resources/leetcode/json/problems/longest_common_prefix.json +91 -0
- leetcode_py_sdk-0.47.0/src/leetcode_py/cli/resources/leetcode/json/problems/longest_valid_parentheses.json +94 -0
- leetcode_py_sdk-0.47.0/src/leetcode_py/cli/resources/leetcode/json/problems/palindrome_number.json +94 -0
- leetcode_py_sdk-0.47.0/src/leetcode_py/cli/resources/leetcode/json/problems/roman_to_integer.json +94 -0
- leetcode_py_sdk-0.47.0/src/leetcode_py/cli/resources/leetcode/json/problems/three_sum_closest.json +91 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/tags.json5 +5 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/README.md +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/__init__.py +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/__init__.py +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/commands/__init__.py +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/commands/gen.py +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/commands/list.py +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/commands/scrape.py +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/main.py +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/cookiecutter.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/accounts_merge.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/add_binary.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/add_two_numbers.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/alien_dictionary.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/balanced_binary_tree.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/basic_calculator.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/best_time_to_buy_and_sell_stock.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/best_time_to_buy_and_sell_stock_with_cooldown.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/binary_search.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/binary_tree_inorder_traversal.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/binary_tree_level_order_traversal.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/binary_tree_maximum_path_sum.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/binary_tree_postorder_traversal.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/binary_tree_preorder_traversal.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/binary_tree_right_side_view.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/burst_balloons.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/car_fleet.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/cheapest_flights_within_k_stops.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/climbing_stairs.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/clone_graph.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/coin_change.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/coin_change_ii.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/combination_sum.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/combination_sum_ii.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/construct_binary_tree_from_preorder_and_inorder_traversal.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/container_with_most_water.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/contains_duplicate.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/contiguous_array.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/copy_list_with_random_pointer.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/count_good_nodes_in_binary_tree.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/counting_bits.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/course_schedule.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/course_schedule_ii.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/daily_temperatures.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/decode_string.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/decode_ways.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/design_add_and_search_words_data_structure.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/design_in_memory_file_system.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/design_twitter.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/detect_squares.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/diagonal_traverse.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/diameter_of_binary_tree.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/distinct_subsequences.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/edit_distance.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/encode_and_decode_strings.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/evaluate_reverse_polish_notation.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/find_all_anagrams_in_a_string.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/find_first_and_last_position_of_element_in_sorted_array.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/find_k_closest_elements.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/find_median_from_data_stream.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/find_minimum_in_rotated_sorted_array.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/find_the_duplicate_number.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/first_bad_version.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/first_missing_positive.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/flood_fill.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/gas_station.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/generate_parentheses.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/graph_valid_tree.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/group_anagrams.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/hand_of_straights.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/happy_number.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/house_robber.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/house_robber_ii.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/implement_queue_using_stacks.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/implement_trie_prefix_tree.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/insert_interval.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/interleaving_string.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/invert_binary_tree.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/is_graph_bipartite.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/is_subsequence.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/jump_game.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/jump_game_ii.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/k_closest_points_to_origin.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/koko_eating_bananas.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/kth_largest_element_in_a_stream.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/kth_largest_element_in_an_array.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/kth_smallest_element_in_a_bst.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/largest_rectangle_in_histogram.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/last_stone_weight.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/letter_combinations_of_a_phone_number.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/linked_list_cycle.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/linked_list_cycle_ii.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/longest_common_subsequence.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/longest_consecutive_sequence.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/longest_increasing_path_in_a_matrix.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/longest_increasing_subsequence.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/longest_palindrome.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/longest_palindromic_substring.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/longest_repeating_character_replacement.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/longest_substring_without_repeating_characters.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/lowest_common_ancestor_of_a_binary_search_tree.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/lowest_common_ancestor_of_a_binary_tree.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/lru_cache.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/majority_element.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/max_area_of_island.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/max_points_on_a_line.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/maximum_depth_of_binary_tree.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/maximum_product_subarray.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/maximum_profit_in_job_scheduling.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/maximum_subarray.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/maximum_width_of_binary_tree.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/median_of_two_sorted_arrays.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/meeting_rooms.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/meeting_rooms_ii.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/merge_intervals.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/merge_k_sorted_lists.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/merge_triplets_to_form_target_triplet.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/merge_two_sorted_lists.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/middle_of_the_linked_list.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/min_cost_climbing_stairs.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/min_cost_to_connect_all_points.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/min_stack.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/minimum_height_trees.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/minimum_interval_to_include_each_query.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/minimum_path_sum.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/minimum_window_substring.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/missing_number.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/multiply_strings.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/my_calendar_i.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/n_queens.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/network_delay_time.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/next_permutation.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/non_overlapping_intervals.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/number_of_1_bits.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/number_of_connected_components_in_an_undirected_graph.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/number_of_islands.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/number_of_provinces.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/odd_even_linked_list.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/pacific_atlantic_water_flow.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/palindrome_partitioning.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/palindromic_substrings.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/partition_equal_subset_sum.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/partition_labels.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/path_sum_ii.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/path_sum_iii.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/permutation_in_string.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/permutations.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/plus_one.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/powx_n.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/product_of_array_except_self.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/ransom_note.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/reconstruct_itinerary.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/redundant_connection.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/regular_expression_matching.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/remove_nth_node_from_end_of_list.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/reorder_list.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/reverse_bits.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/reverse_integer.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/reverse_linked_list.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/reverse_linked_list_ii.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/reverse_nodes_in_k_group.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/reverse_words_in_a_string.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/rotate_array.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/rotate_image.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/rotting_oranges.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/same_tree.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/search_a_2d_matrix.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/search_in_rotated_sorted_array.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/serialize_and_deserialize_binary_tree.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/set_matrix_zeroes.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/single_number.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/single_number_iii.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/sliding_window_maximum.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/sort_colors.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/spiral_matrix.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/string_to_integer_atoi.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/subarray_sum_equals_k.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/subsets.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/subsets_ii.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/subtree_of_another_tree.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/sum_of_two_integers.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/surrounded_regions.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/swap_nodes_in_pairs.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/swim_in_rising_water.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/target_sum.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/task_scheduler.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/three_sum.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/time_based_key_value_store.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/top_k_frequent_elements.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/top_k_frequent_words.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/trapping_rain_water.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/two_sum.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/two_sum_ii_input_array_is_sorted.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/unique_paths.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/valid_anagram.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/valid_palindrome.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/valid_parentheses.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/valid_parenthesis_string.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/valid_sudoku.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/validate_binary_search_tree.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/walls_and_gates.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/word_break.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/word_ladder.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/word_search.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/word_search_ii.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/json/problems/zero_one_matrix.json +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/{{cookiecutter.problem_name}}/README.md +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/{{cookiecutter.problem_name}}/__init__.py +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/{{cookiecutter.problem_name}}/helpers.py +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/{{cookiecutter.problem_name}}/playground.ipynb +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/{{cookiecutter.problem_name}}/solution.py +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/resources/leetcode/{{cookiecutter.problem_name}}/test_solution.py +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/utils/__init__.py +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/utils/problem_finder.py +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/utils/resources.py +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/cli/utils/tag_helpers.py +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/data_structures/__init__.py +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/data_structures/_utils.py +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/data_structures/dict_tree.py +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/data_structures/doubly_list_node.py +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/data_structures/graph_node.py +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/data_structures/list_node.py +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/data_structures/tree_node.py +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/py.typed +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/tools/__init__.py +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/tools/check_test_cases.py +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/tools/generator.py +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/tools/logged_test.py +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/tools/parser.py +0 -0
- {leetcode_py_sdk-0.46.0 → leetcode_py_sdk-0.47.0}/src/leetcode_py/tools/scraper.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: leetcode-py-sdk
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.47.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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "leetcode-py-sdk"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.47.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"}
|
|
@@ -46,7 +46,7 @@ Repository = "https://github.com/wislertt/leetcode-py"
|
|
|
46
46
|
|
|
47
47
|
[dependency-groups]
|
|
48
48
|
dev = [
|
|
49
|
-
"bakefile[lib]>=0.0.
|
|
49
|
+
"bakefile[lib]>=0.0.57a0",
|
|
50
50
|
"deptry>=0.24.0",
|
|
51
51
|
"ipykernel>=7.0.0",
|
|
52
52
|
"jupytext>=1.16.6",
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
{
|
|
2
|
+
"problem_name": "longest_common_prefix",
|
|
3
|
+
"solution_class_name": "Solution",
|
|
4
|
+
"problem_number": "14",
|
|
5
|
+
"problem_title": "Longest Common Prefix",
|
|
6
|
+
"difficulty": "Easy",
|
|
7
|
+
"topics": "Array, String, Trie",
|
|
8
|
+
"_tags": {
|
|
9
|
+
"list": ["grind"]
|
|
10
|
+
},
|
|
11
|
+
"readme_description": "Write a function to find the longest common prefix string amongst an array of strings.\n\nIf there is no common prefix, return an empty string `\"\"`.",
|
|
12
|
+
"_readme_examples": {
|
|
13
|
+
"list": [
|
|
14
|
+
{
|
|
15
|
+
"content": "```\nInput: strs = [\"flower\",\"flow\",\"flight\"]\nOutput: \"fl\"\n```"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"content": "```\nInput: strs = [\"dog\",\"racecar\",\"car\"]\nOutput: \"\"\nExplanation: There is no common prefix among the input strings.\n```"
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
},
|
|
22
|
+
"readme_constraints": "- 1 <= strs.length <= 200\n- 0 <= strs[i].length <= 200\n- `strs[i]` consists of only lowercase English letters if it is non-empty.",
|
|
23
|
+
"readme_additional": "",
|
|
24
|
+
"helpers_imports": "",
|
|
25
|
+
"helpers_content": "",
|
|
26
|
+
"helpers_run_name": "longest_common_prefix",
|
|
27
|
+
"helpers_run_signature": "(solution_class: type, strs: list[str])",
|
|
28
|
+
"helpers_run_body": " implementation = solution_class()\n return implementation.longest_common_prefix(strs)",
|
|
29
|
+
"helpers_assert_name": "longest_common_prefix",
|
|
30
|
+
"helpers_assert_signature": "(result: str, expected: str) -> bool",
|
|
31
|
+
"helpers_assert_body": " assert result == expected\n return True",
|
|
32
|
+
"solution_imports": "",
|
|
33
|
+
"solution_contents": "",
|
|
34
|
+
"solution_class_content": "",
|
|
35
|
+
"test_imports": "import pytest\nfrom leetcode_py import logged_test\nfrom .helpers import assert_longest_common_prefix, run_longest_common_prefix\nfrom .solution import Solution",
|
|
36
|
+
"test_content": "",
|
|
37
|
+
"test_class_name": "LongestCommonPrefix",
|
|
38
|
+
"test_class_content": " def setup_method(self):\n self.solution = Solution()",
|
|
39
|
+
"_solution_methods": {
|
|
40
|
+
"list": [
|
|
41
|
+
{
|
|
42
|
+
"name": "longest_common_prefix",
|
|
43
|
+
"signature": "(self, strs: list[str]) -> str",
|
|
44
|
+
"body": " # TODO: Implement longest_common_prefix\n return ''"
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
},
|
|
48
|
+
"_test_helper_methods": {
|
|
49
|
+
"list": [
|
|
50
|
+
{
|
|
51
|
+
"name": "setup_method",
|
|
52
|
+
"parameters": "",
|
|
53
|
+
"body": "self.solution = Solution()"
|
|
54
|
+
}
|
|
55
|
+
]
|
|
56
|
+
},
|
|
57
|
+
"_test_methods": {
|
|
58
|
+
"list": [
|
|
59
|
+
{
|
|
60
|
+
"name": "test_longest_common_prefix",
|
|
61
|
+
"signature": "(self, strs: list[str], expected: str)",
|
|
62
|
+
"parametrize": "strs, expected",
|
|
63
|
+
"test_cases": {
|
|
64
|
+
"list": [
|
|
65
|
+
"(['flower', 'flow', 'flight'], 'fl')",
|
|
66
|
+
"(['dog', 'racecar', 'car'], '')",
|
|
67
|
+
"([''], '')",
|
|
68
|
+
"(['a'], 'a')",
|
|
69
|
+
"(['ab', 'a'], 'a')",
|
|
70
|
+
"(['aaa', 'aa', 'aaa'], 'aa')",
|
|
71
|
+
"(['abc', 'abc', 'abc'], 'abc')",
|
|
72
|
+
"(['abc', 'def', 'ghi'], '')",
|
|
73
|
+
"(['interspecies', 'interstellar', 'interstate'], 'inters')",
|
|
74
|
+
"(['', ''], '')",
|
|
75
|
+
"(['ab', 'ab', 'ab'], 'ab')",
|
|
76
|
+
"(['a', 'a', 'a'], 'a')",
|
|
77
|
+
"(['prefix', 'pre', 'pref'], 'pre')",
|
|
78
|
+
"(['xyz', 'xyz', 'x'], 'x')",
|
|
79
|
+
"(['abca', 'abcab', 'abcabc'], 'abca')",
|
|
80
|
+
"(['cir', 'car'], 'c')"
|
|
81
|
+
]
|
|
82
|
+
},
|
|
83
|
+
"body": " result = run_longest_common_prefix(Solution, strs)\n assert_longest_common_prefix(result, expected)"
|
|
84
|
+
}
|
|
85
|
+
]
|
|
86
|
+
},
|
|
87
|
+
"playground_imports": "from helpers import run_longest_common_prefix, assert_longest_common_prefix\nfrom solution import Solution",
|
|
88
|
+
"playground_setup": "# Example test case\nstrs = ['flower', 'flow', 'flight']\nexpected = 'fl'",
|
|
89
|
+
"playground_run": "result = run_longest_common_prefix(Solution, strs)\nresult",
|
|
90
|
+
"playground_assert": "assert_longest_common_prefix(result, expected)"
|
|
91
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
{
|
|
2
|
+
"problem_name": "longest_valid_parentheses",
|
|
3
|
+
"solution_class_name": "Solution",
|
|
4
|
+
"problem_number": "32",
|
|
5
|
+
"problem_title": "Longest Valid Parentheses",
|
|
6
|
+
"difficulty": "Hard",
|
|
7
|
+
"topics": "String, Dynamic Programming, Stack",
|
|
8
|
+
"_tags": {
|
|
9
|
+
"list": ["grind"]
|
|
10
|
+
},
|
|
11
|
+
"readme_description": "Given a string containing just the characters `'('` and `')'`, return the length of the longest valid (well-formed) parentheses *substring*.",
|
|
12
|
+
"_readme_examples": {
|
|
13
|
+
"list": [
|
|
14
|
+
{
|
|
15
|
+
"content": "```\nInput: s = \"(()\"\nOutput: 2\nExplanation: The longest valid parentheses substring is \"()\".\n```"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"content": "```\nInput: s = \")()())\"\nOutput: 4\nExplanation: The longest valid parentheses substring is \"()()\".\n```"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"content": "```\nInput: s = \"\"\nOutput: 0\n```"
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
},
|
|
25
|
+
"readme_constraints": "- 0 <= s.length <= 3 * 10^4\n- `s[i]` is `'('`, or `')'`.",
|
|
26
|
+
"readme_additional": "",
|
|
27
|
+
"helpers_imports": "",
|
|
28
|
+
"helpers_content": "",
|
|
29
|
+
"helpers_run_name": "longest_valid_parentheses",
|
|
30
|
+
"helpers_run_signature": "(solution_class: type, s: str)",
|
|
31
|
+
"helpers_run_body": " implementation = solution_class()\n return implementation.longest_valid_parentheses(s)",
|
|
32
|
+
"helpers_assert_name": "longest_valid_parentheses",
|
|
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_longest_valid_parentheses, run_longest_valid_parentheses\nfrom .solution import Solution",
|
|
39
|
+
"test_content": "",
|
|
40
|
+
"test_class_name": "LongestValidParentheses",
|
|
41
|
+
"test_class_content": " def setup_method(self):\n self.solution = Solution()",
|
|
42
|
+
"_solution_methods": {
|
|
43
|
+
"list": [
|
|
44
|
+
{
|
|
45
|
+
"name": "longest_valid_parentheses",
|
|
46
|
+
"signature": "(self, s: str) -> int",
|
|
47
|
+
"body": " # TODO: Implement longest_valid_parentheses\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_longest_valid_parentheses",
|
|
64
|
+
"signature": "(self, s: str, expected: int)",
|
|
65
|
+
"parametrize": "s, expected",
|
|
66
|
+
"test_cases": {
|
|
67
|
+
"list": [
|
|
68
|
+
"('(()', 2)",
|
|
69
|
+
"(')()())', 4)",
|
|
70
|
+
"('', 0)",
|
|
71
|
+
"('(', 0)",
|
|
72
|
+
"(')', 0)",
|
|
73
|
+
"('()', 2)",
|
|
74
|
+
"('()()', 4)",
|
|
75
|
+
"('(())', 4)",
|
|
76
|
+
"('(()())', 6)",
|
|
77
|
+
"('(()()', 4)",
|
|
78
|
+
"(')(())', 4)",
|
|
79
|
+
"('()(()', 2)",
|
|
80
|
+
"('(((((', 0)",
|
|
81
|
+
"(')))))', 0)",
|
|
82
|
+
"('((()))', 6)",
|
|
83
|
+
"('(())(())', 8)"
|
|
84
|
+
]
|
|
85
|
+
},
|
|
86
|
+
"body": " result = run_longest_valid_parentheses(Solution, s)\n assert_longest_valid_parentheses(result, expected)"
|
|
87
|
+
}
|
|
88
|
+
]
|
|
89
|
+
},
|
|
90
|
+
"playground_imports": "from helpers import run_longest_valid_parentheses, assert_longest_valid_parentheses\nfrom solution import Solution",
|
|
91
|
+
"playground_setup": "# Example test case\ns = ')()())'\nexpected = 4",
|
|
92
|
+
"playground_run": "result = run_longest_valid_parentheses(Solution, s)\nresult",
|
|
93
|
+
"playground_assert": "assert_longest_valid_parentheses(result, expected)"
|
|
94
|
+
}
|
leetcode_py_sdk-0.47.0/src/leetcode_py/cli/resources/leetcode/json/problems/palindrome_number.json
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
{
|
|
2
|
+
"problem_name": "palindrome_number",
|
|
3
|
+
"solution_class_name": "Solution",
|
|
4
|
+
"problem_number": "9",
|
|
5
|
+
"problem_title": "Palindrome Number",
|
|
6
|
+
"difficulty": "Easy",
|
|
7
|
+
"topics": "Math",
|
|
8
|
+
"_tags": {
|
|
9
|
+
"list": ["grind"]
|
|
10
|
+
},
|
|
11
|
+
"readme_description": "Given an integer `x`, return `true` if `x` is a **palindrome**, and `false` otherwise.",
|
|
12
|
+
"_readme_examples": {
|
|
13
|
+
"list": [
|
|
14
|
+
{
|
|
15
|
+
"content": "```\nInput: x = 121\nOutput: true\nExplanation: 121 reads as 121 from left to right and from right to left.\n```"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"content": "```\nInput: x = -121\nOutput: false\nExplanation: From left to right, it reads -121. From right to left, it becomes 121-. Therefore it is not a palindrome.\n```"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"content": "```\nInput: x = 10\nOutput: false\nExplanation: Reads 01 from right to left. Therefore it is not a palindrome.\n```"
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
},
|
|
25
|
+
"readme_constraints": "- -2^31 <= x <= 2^31 - 1",
|
|
26
|
+
"readme_additional": "**Follow up:** Could you solve it without converting the integer to a string?",
|
|
27
|
+
"helpers_imports": "",
|
|
28
|
+
"helpers_content": "",
|
|
29
|
+
"helpers_run_name": "is_palindrome",
|
|
30
|
+
"helpers_run_signature": "(solution_class: type, x: int)",
|
|
31
|
+
"helpers_run_body": " implementation = solution_class()\n return implementation.is_palindrome(x)",
|
|
32
|
+
"helpers_assert_name": "is_palindrome",
|
|
33
|
+
"helpers_assert_signature": "(result: bool, expected: bool) -> 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_is_palindrome, run_is_palindrome\nfrom .solution import Solution",
|
|
39
|
+
"test_content": "",
|
|
40
|
+
"test_class_name": "PalindromeNumber",
|
|
41
|
+
"test_class_content": " def setup_method(self):\n self.solution = Solution()",
|
|
42
|
+
"_solution_methods": {
|
|
43
|
+
"list": [
|
|
44
|
+
{
|
|
45
|
+
"name": "is_palindrome",
|
|
46
|
+
"signature": "(self, x: int) -> bool",
|
|
47
|
+
"body": " # TODO: Implement is_palindrome\n return False"
|
|
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_is_palindrome",
|
|
64
|
+
"signature": "(self, x: int, expected: bool)",
|
|
65
|
+
"parametrize": "x, expected",
|
|
66
|
+
"test_cases": {
|
|
67
|
+
"list": [
|
|
68
|
+
"(121, True)",
|
|
69
|
+
"(-121, False)",
|
|
70
|
+
"(10, False)",
|
|
71
|
+
"(0, True)",
|
|
72
|
+
"(1, True)",
|
|
73
|
+
"(11, True)",
|
|
74
|
+
"(12, False)",
|
|
75
|
+
"(1001, True)",
|
|
76
|
+
"(12321, True)",
|
|
77
|
+
"(12345, False)",
|
|
78
|
+
"(-1, False)",
|
|
79
|
+
"(1000021, False)",
|
|
80
|
+
"(1234321, True)",
|
|
81
|
+
"(2147447412, True)",
|
|
82
|
+
"(2147483647, False)",
|
|
83
|
+
"(100, False)"
|
|
84
|
+
]
|
|
85
|
+
},
|
|
86
|
+
"body": " result = run_is_palindrome(Solution, x)\n assert_is_palindrome(result, expected)"
|
|
87
|
+
}
|
|
88
|
+
]
|
|
89
|
+
},
|
|
90
|
+
"playground_imports": "from helpers import run_is_palindrome, assert_is_palindrome\nfrom solution import Solution",
|
|
91
|
+
"playground_setup": "# Example test case\nx = 121\nexpected = True",
|
|
92
|
+
"playground_run": "result = run_is_palindrome(Solution, x)\nresult",
|
|
93
|
+
"playground_assert": "assert_is_palindrome(result, expected)"
|
|
94
|
+
}
|
leetcode_py_sdk-0.47.0/src/leetcode_py/cli/resources/leetcode/json/problems/roman_to_integer.json
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
{
|
|
2
|
+
"problem_name": "roman_to_integer",
|
|
3
|
+
"solution_class_name": "Solution",
|
|
4
|
+
"problem_number": "13",
|
|
5
|
+
"problem_title": "Roman to Integer",
|
|
6
|
+
"difficulty": "Easy",
|
|
7
|
+
"topics": "Hash Table, Math, String",
|
|
8
|
+
"_tags": {
|
|
9
|
+
"list": ["grind"]
|
|
10
|
+
},
|
|
11
|
+
"readme_description": "Roman numerals are represented by seven different symbols: `I`, `V`, `X`, `L`, `C`, `D` and `M`.\n\n**Symbol** **Value**\nI 1\nV 5\nX 10\nL 50\nC 100\nD 500\nM 1000\n\nFor example, `2` is written as `II` in Roman numeral, just two ones added together. `12` is written as `XII`, which is simply `X + II`. The number `27` is written as `XXVII`, which is `XX + V + II`.\n\nRoman numerals are usually written largest to smallest from left to right. However, the numeral for four is not `IIII`. Instead, the number four is written as `IV`. Because the one is before the five we subtract it making four. The same principle applies to the number nine, which is written as `IX`. There are six instances where subtraction is used:\n\n- `I` can be placed before `V` (5) and `X` (10) to make 4 and 9.\n- `X` can be placed before `L` (50) and `C` (100) to make 40 and 90.\n- `C` can be placed before `D` (500) and `M` (1000) to make 400 and 900.\n\nGiven a roman numeral, convert it to an integer.",
|
|
12
|
+
"_readme_examples": {
|
|
13
|
+
"list": [
|
|
14
|
+
{
|
|
15
|
+
"content": "```\nInput: s = \"III\"\nOutput: 3\nExplanation: III = 3.\n```"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"content": "```\nInput: s = \"LVIII\"\nOutput: 58\nExplanation: L = 50, V= 5, III = 3.\n```"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"content": "```\nInput: s = \"MCMXCIV\"\nOutput: 1994\nExplanation: M = 1000, CM = 900, XC = 90 and IV = 4.\n```"
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
},
|
|
25
|
+
"readme_constraints": "- 1 <= s.length <= 15\n- `s` contains only the characters (`'I'`, `'V'`, `'X'`, `'L'`, `'C'`, `'D'`, `'M'`).\n- It is guaranteed that `s` is a valid roman numeral in the range `[1, 3999]`.",
|
|
26
|
+
"readme_additional": "",
|
|
27
|
+
"helpers_imports": "",
|
|
28
|
+
"helpers_content": "",
|
|
29
|
+
"helpers_run_name": "roman_to_int",
|
|
30
|
+
"helpers_run_signature": "(solution_class: type, s: str)",
|
|
31
|
+
"helpers_run_body": " implementation = solution_class()\n return implementation.roman_to_int(s)",
|
|
32
|
+
"helpers_assert_name": "roman_to_int",
|
|
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_roman_to_int, run_roman_to_int\nfrom .solution import Solution",
|
|
39
|
+
"test_content": "",
|
|
40
|
+
"test_class_name": "RomanToInteger",
|
|
41
|
+
"test_class_content": " def setup_method(self):\n self.solution = Solution()",
|
|
42
|
+
"_solution_methods": {
|
|
43
|
+
"list": [
|
|
44
|
+
{
|
|
45
|
+
"name": "roman_to_int",
|
|
46
|
+
"signature": "(self, s: str) -> int",
|
|
47
|
+
"body": " # TODO: Implement roman_to_int\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_roman_to_int",
|
|
64
|
+
"signature": "(self, s: str, expected: int)",
|
|
65
|
+
"parametrize": "s, expected",
|
|
66
|
+
"test_cases": {
|
|
67
|
+
"list": [
|
|
68
|
+
"('III', 3)",
|
|
69
|
+
"('LVIII', 58)",
|
|
70
|
+
"('MCMXCIV', 1994)",
|
|
71
|
+
"('I', 1)",
|
|
72
|
+
"('V', 5)",
|
|
73
|
+
"('X', 10)",
|
|
74
|
+
"('IV', 4)",
|
|
75
|
+
"('IX', 9)",
|
|
76
|
+
"('XL', 40)",
|
|
77
|
+
"('XC', 90)",
|
|
78
|
+
"('CD', 400)",
|
|
79
|
+
"('CM', 900)",
|
|
80
|
+
"('MMMCMXCIX', 3999)",
|
|
81
|
+
"('MMMDCCCLXXXVIII', 3888)",
|
|
82
|
+
"('DCXXI', 621)",
|
|
83
|
+
"('MCMXC', 1990)"
|
|
84
|
+
]
|
|
85
|
+
},
|
|
86
|
+
"body": " result = run_roman_to_int(Solution, s)\n assert_roman_to_int(result, expected)"
|
|
87
|
+
}
|
|
88
|
+
]
|
|
89
|
+
},
|
|
90
|
+
"playground_imports": "from helpers import run_roman_to_int, assert_roman_to_int\nfrom solution import Solution",
|
|
91
|
+
"playground_setup": "# Example test case\ns = 'MCMXCIV'\nexpected = 1994",
|
|
92
|
+
"playground_run": "result = run_roman_to_int(Solution, s)\nresult",
|
|
93
|
+
"playground_assert": "assert_roman_to_int(result, expected)"
|
|
94
|
+
}
|
leetcode_py_sdk-0.47.0/src/leetcode_py/cli/resources/leetcode/json/problems/three_sum_closest.json
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
{
|
|
2
|
+
"problem_name": "three_sum_closest",
|
|
3
|
+
"solution_class_name": "Solution",
|
|
4
|
+
"problem_number": "16",
|
|
5
|
+
"problem_title": "3Sum Closest",
|
|
6
|
+
"difficulty": "Medium",
|
|
7
|
+
"topics": "Array, Two Pointers, Sorting",
|
|
8
|
+
"_tags": {
|
|
9
|
+
"list": ["grind"]
|
|
10
|
+
},
|
|
11
|
+
"readme_description": "Given an integer array `nums` of length `n` and an integer `target`, find three integers at **distinct indices** in `nums` such that the sum is closest to `target`.\n\nReturn *the sum of the three integers*.\n\nYou may assume that each input would have exactly one solution.",
|
|
12
|
+
"_readme_examples": {
|
|
13
|
+
"list": [
|
|
14
|
+
{
|
|
15
|
+
"content": "```\nInput: nums = [-1,2,1,-4], target = 1\nOutput: 2\nExplanation: The sum that is closest to the target is 2. (-1 + 2 + 1 = 2).\n```"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"content": "```\nInput: nums = [0,0,0], target = 1\nOutput: 0\nExplanation: The sum that is closest to the target is 0. (0 + 0 + 0 = 0).\n```"
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
},
|
|
22
|
+
"readme_constraints": "- 3 <= nums.length <= 500\n- -1000 <= nums[i] <= 1000\n- -10^4 <= target <= 10^4",
|
|
23
|
+
"readme_additional": "",
|
|
24
|
+
"helpers_imports": "",
|
|
25
|
+
"helpers_content": "",
|
|
26
|
+
"helpers_run_name": "three_sum_closest",
|
|
27
|
+
"helpers_run_signature": "(solution_class: type, nums: list[int], target: int)",
|
|
28
|
+
"helpers_run_body": " implementation = solution_class()\n return implementation.three_sum_closest(nums, target)",
|
|
29
|
+
"helpers_assert_name": "three_sum_closest",
|
|
30
|
+
"helpers_assert_signature": "(result: int, expected: int) -> bool",
|
|
31
|
+
"helpers_assert_body": " assert result == expected\n return True",
|
|
32
|
+
"solution_imports": "",
|
|
33
|
+
"solution_contents": "",
|
|
34
|
+
"solution_class_content": "",
|
|
35
|
+
"test_imports": "import pytest\nfrom leetcode_py import logged_test\nfrom .helpers import assert_three_sum_closest, run_three_sum_closest\nfrom .solution import Solution",
|
|
36
|
+
"test_content": "",
|
|
37
|
+
"test_class_name": "ThreeSumClosest",
|
|
38
|
+
"test_class_content": " def setup_method(self):\n self.solution = Solution()",
|
|
39
|
+
"_solution_methods": {
|
|
40
|
+
"list": [
|
|
41
|
+
{
|
|
42
|
+
"name": "three_sum_closest",
|
|
43
|
+
"signature": "(self, nums: list[int], target: int) -> int",
|
|
44
|
+
"body": " # TODO: Implement three_sum_closest\n return 0"
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
},
|
|
48
|
+
"_test_helper_methods": {
|
|
49
|
+
"list": [
|
|
50
|
+
{
|
|
51
|
+
"name": "setup_method",
|
|
52
|
+
"parameters": "",
|
|
53
|
+
"body": "self.solution = Solution()"
|
|
54
|
+
}
|
|
55
|
+
]
|
|
56
|
+
},
|
|
57
|
+
"_test_methods": {
|
|
58
|
+
"list": [
|
|
59
|
+
{
|
|
60
|
+
"name": "test_three_sum_closest",
|
|
61
|
+
"signature": "(self, nums: list[int], target: int, expected: int)",
|
|
62
|
+
"parametrize": "nums, target, expected",
|
|
63
|
+
"test_cases": {
|
|
64
|
+
"list": [
|
|
65
|
+
"([-1, 2, 1, -4], 1, 2)",
|
|
66
|
+
"([0, 0, 0], 1, 0)",
|
|
67
|
+
"([1, 1, -1, -1, 3], -1, -1)",
|
|
68
|
+
"([1, 2, 3, 4, 5], 9, 9)",
|
|
69
|
+
"([0, 1, 2], 0, 3)",
|
|
70
|
+
"([0, 1, 2], 3, 3)",
|
|
71
|
+
"([-4, -2, -1, 0, 3, 5], 1, 1)",
|
|
72
|
+
"([1, 2, 5, 10, 11], 12, 13)",
|
|
73
|
+
"([2, 3, 4, 5], 50, 12)",
|
|
74
|
+
"([1, 1, 1], 3, 3)",
|
|
75
|
+
"([100, 200, 300, 400], 200, 600)",
|
|
76
|
+
"([-5, -4, -3, -2, -1], -12, -12)",
|
|
77
|
+
"([5, 5, 5, 5], 10, 15)",
|
|
78
|
+
"([1, 2, 4, 8, 16], 10, 11)",
|
|
79
|
+
"([1, 2, 3], 1, 6)",
|
|
80
|
+
"([-1, 0, 1, 2, -1, -4], 0, 0)"
|
|
81
|
+
]
|
|
82
|
+
},
|
|
83
|
+
"body": " result = run_three_sum_closest(Solution, nums, target)\n assert_three_sum_closest(result, expected)"
|
|
84
|
+
}
|
|
85
|
+
]
|
|
86
|
+
},
|
|
87
|
+
"playground_imports": "from helpers import run_three_sum_closest, assert_three_sum_closest\nfrom solution import Solution",
|
|
88
|
+
"playground_setup": "# Example test case\nnums = [-1, 2, 1, -4]\ntarget = 1\nexpected = 2",
|
|
89
|
+
"playground_run": "result = run_three_sum_closest(Solution, nums, target)\nresult",
|
|
90
|
+
"playground_assert": "assert_three_sum_closest(result, expected)"
|
|
91
|
+
}
|
|
@@ -95,17 +95,22 @@
|
|
|
95
95
|
"gas_station",
|
|
96
96
|
"group_anagrams",
|
|
97
97
|
"house_robber",
|
|
98
|
+
"longest_common_prefix",
|
|
98
99
|
"longest_consecutive_sequence",
|
|
99
100
|
"longest_increasing_subsequence",
|
|
101
|
+
"longest_valid_parentheses",
|
|
100
102
|
"maximum_product_subarray",
|
|
101
103
|
"maximum_width_of_binary_tree",
|
|
102
104
|
"next_permutation",
|
|
103
105
|
"odd_even_linked_list",
|
|
104
106
|
"pacific_atlantic_water_flow",
|
|
107
|
+
"palindrome_number",
|
|
105
108
|
"path_sum_ii",
|
|
106
109
|
"remove_nth_node_from_end_of_list",
|
|
110
|
+
"roman_to_integer",
|
|
107
111
|
"rotate_array",
|
|
108
112
|
"swap_nodes_in_pairs",
|
|
113
|
+
"three_sum_closest",
|
|
109
114
|
"top_k_frequent_words",
|
|
110
115
|
"valid_sudoku",
|
|
111
116
|
],
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|