> ## Documentation Index
> Fetch the complete documentation index at: https://leetcode-py.wisl.dev/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> leetcode-py is a Python LeetCode practice environment generator with one CLI: lcpy. It is not a service or platform.
> Each problem is a directory under leetcode/ with README.md, solution.py, test_solution.py, helpers.py, and playground.ipynb. lcpy gen creates them from JSON templates bundled with the package.
> Examples are backed by tests; copy them verbatim.

# Grind

> All 169 Grind problems with links to each problem and solution.

Grind holds 169 problems (40 Easy, 103 Medium, 26 Hard).

This collection includes every problem in [Grind 75](/catalog/grind-75).

Generate the whole collection into the current directory:

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
lcpy gen -t grind
```

| #    | Problem                                                                                                                                                                                     | Difficulty | Solution                                                                                                                                        |
| ---- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| 1    | [Two Sum](https://github.com/wislertt/leetcode-py/blob/main/leetcode/two_sum/README.md)                                                                                                     | Easy       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/two_sum/solution.py)                                                   |
| 2    | [Add Two Numbers](https://github.com/wislertt/leetcode-py/blob/main/leetcode/add_two_numbers/README.md)                                                                                     | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/add_two_numbers/solution.py)                                           |
| 3    | [Longest Substring Without Repeating Characters](https://github.com/wislertt/leetcode-py/blob/main/leetcode/longest_substring_without_repeating_characters/README.md)                       | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/longest_substring_without_repeating_characters/solution.py)            |
| 4    | [Median of Two Sorted Arrays](https://github.com/wislertt/leetcode-py/blob/main/leetcode/median_of_two_sorted_arrays/README.md)                                                             | Hard       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/median_of_two_sorted_arrays/solution.py)                               |
| 5    | [Longest Palindromic Substring](https://github.com/wislertt/leetcode-py/blob/main/leetcode/longest_palindromic_substring/README.md)                                                         | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/longest_palindromic_substring/solution.py)                             |
| 7    | [Reverse Integer](https://github.com/wislertt/leetcode-py/blob/main/leetcode/reverse_integer/README.md)                                                                                     | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/reverse_integer/solution.py)                                           |
| 8    | [String to Integer (atoi)](https://github.com/wislertt/leetcode-py/blob/main/leetcode/string_to_integer_atoi/README.md)                                                                     | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/string_to_integer_atoi/solution.py)                                    |
| 9    | [Palindrome Number](https://github.com/wislertt/leetcode-py/blob/main/leetcode/palindrome_number/README.md)                                                                                 | Easy       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/palindrome_number/solution.py)                                         |
| 11   | [Container With Most Water](https://github.com/wislertt/leetcode-py/blob/main/leetcode/container_with_most_water/README.md)                                                                 | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/container_with_most_water/solution.py)                                 |
| 13   | [Roman to Integer](https://github.com/wislertt/leetcode-py/blob/main/leetcode/roman_to_integer/README.md)                                                                                   | Easy       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/roman_to_integer/solution.py)                                          |
| 14   | [Longest Common Prefix](https://github.com/wislertt/leetcode-py/blob/main/leetcode/longest_common_prefix/README.md)                                                                         | Easy       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/longest_common_prefix/solution.py)                                     |
| 15   | [3Sum](https://github.com/wislertt/leetcode-py/blob/main/leetcode/three_sum/README.md)                                                                                                      | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/three_sum/solution.py)                                                 |
| 16   | [3Sum Closest](https://github.com/wislertt/leetcode-py/blob/main/leetcode/three_sum_closest/README.md)                                                                                      | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/three_sum_closest/solution.py)                                         |
| 17   | [Letter Combinations of a Phone Number](https://github.com/wislertt/leetcode-py/blob/main/leetcode/letter_combinations_of_a_phone_number/README.md)                                         | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/letter_combinations_of_a_phone_number/solution.py)                     |
| 19   | [Remove Nth Node From End of List](https://github.com/wislertt/leetcode-py/blob/main/leetcode/remove_nth_node_from_end_of_list/README.md)                                                   | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/remove_nth_node_from_end_of_list/solution.py)                          |
| 20   | [Valid Parentheses](https://github.com/wislertt/leetcode-py/blob/main/leetcode/valid_parentheses/README.md)                                                                                 | Easy       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/valid_parentheses/solution.py)                                         |
| 21   | [Merge Two Sorted Lists](https://github.com/wislertt/leetcode-py/blob/main/leetcode/merge_two_sorted_lists/README.md)                                                                       | Easy       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/merge_two_sorted_lists/solution.py)                                    |
| 22   | [Generate Parentheses](https://github.com/wislertt/leetcode-py/blob/main/leetcode/generate_parentheses/README.md)                                                                           | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/generate_parentheses/solution.py)                                      |
| 23   | [Merge k Sorted Lists](https://github.com/wislertt/leetcode-py/blob/main/leetcode/merge_k_sorted_lists/README.md)                                                                           | Hard       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/merge_k_sorted_lists/solution.py)                                      |
| 24   | [Swap Nodes in Pairs](https://github.com/wislertt/leetcode-py/blob/main/leetcode/swap_nodes_in_pairs/README.md)                                                                             | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/swap_nodes_in_pairs/solution.py)                                       |
| 25   | [Reverse Nodes in k-Group](https://github.com/wislertt/leetcode-py/blob/main/leetcode/reverse_nodes_in_k_group/README.md)                                                                   | Hard       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/reverse_nodes_in_k_group/solution.py)                                  |
| 31   | [Next Permutation](https://github.com/wislertt/leetcode-py/blob/main/leetcode/next_permutation/README.md)                                                                                   | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/next_permutation/solution.py)                                          |
| 32   | [Longest Valid Parentheses](https://github.com/wislertt/leetcode-py/blob/main/leetcode/longest_valid_parentheses/README.md)                                                                 | Hard       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/longest_valid_parentheses/solution.py)                                 |
| 33   | [Search in Rotated Sorted Array](https://github.com/wislertt/leetcode-py/blob/main/leetcode/search_in_rotated_sorted_array/README.md)                                                       | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/search_in_rotated_sorted_array/solution.py)                            |
| 36   | [Valid Sudoku](https://github.com/wislertt/leetcode-py/blob/main/leetcode/valid_sudoku/README.md)                                                                                           | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/valid_sudoku/solution.py)                                              |
| 37   | [Sudoku Solver](https://github.com/wislertt/leetcode-py/blob/main/leetcode/sudoku_solver/README.md)                                                                                         | Hard       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/sudoku_solver/solution.py)                                             |
| 39   | [Combination Sum](https://github.com/wislertt/leetcode-py/blob/main/leetcode/combination_sum/README.md)                                                                                     | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/combination_sum/solution.py)                                           |
| 41   | [First Missing Positive](https://github.com/wislertt/leetcode-py/blob/main/leetcode/first_missing_positive/README.md)                                                                       | Hard       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/first_missing_positive/solution.py)                                    |
| 42   | [Trapping Rain Water](https://github.com/wislertt/leetcode-py/blob/main/leetcode/trapping_rain_water/README.md)                                                                             | Hard       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/trapping_rain_water/solution.py)                                       |
| 46   | [Permutations](https://github.com/wislertt/leetcode-py/blob/main/leetcode/permutations/README.md)                                                                                           | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/permutations/solution.py)                                              |
| 48   | [Rotate Image](https://github.com/wislertt/leetcode-py/blob/main/leetcode/rotate_image/README.md)                                                                                           | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/rotate_image/solution.py)                                              |
| 49   | [Group Anagrams](https://github.com/wislertt/leetcode-py/blob/main/leetcode/group_anagrams/README.md)                                                                                       | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/group_anagrams/solution.py)                                            |
| 50   | [Pow(x, n)](https://github.com/wislertt/leetcode-py/blob/main/leetcode/powx_n/README.md)                                                                                                    | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/powx_n/solution.py)                                                    |
| 51   | [N-Queens](https://github.com/wislertt/leetcode-py/blob/main/leetcode/n_queens/README.md)                                                                                                   | Hard       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/n_queens/solution.py)                                                  |
| 53   | [Maximum Subarray](https://github.com/wislertt/leetcode-py/blob/main/leetcode/maximum_subarray/README.md)                                                                                   | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/maximum_subarray/solution.py)                                          |
| 54   | [Spiral Matrix](https://github.com/wislertt/leetcode-py/blob/main/leetcode/spiral_matrix/README.md)                                                                                         | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/spiral_matrix/solution.py)                                             |
| 55   | [Jump Game](https://github.com/wislertt/leetcode-py/blob/main/leetcode/jump_game/README.md)                                                                                                 | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/jump_game/solution.py)                                                 |
| 56   | [Merge Intervals](https://github.com/wislertt/leetcode-py/blob/main/leetcode/merge_intervals/README.md)                                                                                     | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/merge_intervals/solution.py)                                           |
| 57   | [Insert Interval](https://github.com/wislertt/leetcode-py/blob/main/leetcode/insert_interval/README.md)                                                                                     | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/insert_interval/solution.py)                                           |
| 61   | [Rotate List](https://github.com/wislertt/leetcode-py/blob/main/leetcode/rotate_list/README.md)                                                                                             | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/rotate_list/solution.py)                                               |
| 62   | [Unique Paths](https://github.com/wislertt/leetcode-py/blob/main/leetcode/unique_paths/README.md)                                                                                           | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/unique_paths/solution.py)                                              |
| 67   | [Add Binary](https://github.com/wislertt/leetcode-py/blob/main/leetcode/add_binary/README.md)                                                                                               | Easy       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/add_binary/solution.py)                                                |
| 70   | [Climbing Stairs](https://github.com/wislertt/leetcode-py/blob/main/leetcode/climbing_stairs/README.md)                                                                                     | Easy       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/climbing_stairs/solution.py)                                           |
| 73   | [Set Matrix Zeroes](https://github.com/wislertt/leetcode-py/blob/main/leetcode/set_matrix_zeroes/README.md)                                                                                 | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/set_matrix_zeroes/solution.py)                                         |
| 74   | [Search a 2D Matrix](https://github.com/wislertt/leetcode-py/blob/main/leetcode/search_a_2d_matrix/README.md)                                                                               | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/search_a_2d_matrix/solution.py)                                        |
| 75   | [Sort Colors](https://github.com/wislertt/leetcode-py/blob/main/leetcode/sort_colors/README.md)                                                                                             | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/sort_colors/solution.py)                                               |
| 76   | [Minimum Window Substring](https://github.com/wislertt/leetcode-py/blob/main/leetcode/minimum_window_substring/README.md)                                                                   | Hard       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/minimum_window_substring/solution.py)                                  |
| 78   | [Subsets](https://github.com/wislertt/leetcode-py/blob/main/leetcode/subsets/README.md)                                                                                                     | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/subsets/solution.py)                                                   |
| 79   | [Word Search](https://github.com/wislertt/leetcode-py/blob/main/leetcode/word_search/README.md)                                                                                             | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/word_search/solution.py)                                               |
| 84   | [Largest Rectangle in Histogram](https://github.com/wislertt/leetcode-py/blob/main/leetcode/largest_rectangle_in_histogram/README.md)                                                       | Hard       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/largest_rectangle_in_histogram/solution.py)                            |
| 91   | [Decode Ways](https://github.com/wislertt/leetcode-py/blob/main/leetcode/decode_ways/README.md)                                                                                             | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/decode_ways/solution.py)                                               |
| 98   | [Validate Binary Search Tree](https://github.com/wislertt/leetcode-py/blob/main/leetcode/validate_binary_search_tree/README.md)                                                             | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/validate_binary_search_tree/solution.py)                               |
| 100  | [Same Tree](https://github.com/wislertt/leetcode-py/blob/main/leetcode/same_tree/README.md)                                                                                                 | Easy       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/same_tree/solution.py)                                                 |
| 101  | [Symmetric Tree](https://github.com/wislertt/leetcode-py/blob/main/leetcode/symmetric_tree/README.md)                                                                                       | Easy       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/symmetric_tree/solution.py)                                            |
| 102  | [Binary Tree Level Order Traversal](https://github.com/wislertt/leetcode-py/blob/main/leetcode/binary_tree_level_order_traversal/README.md)                                                 | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/binary_tree_level_order_traversal/solution.py)                         |
| 103  | [Binary Tree Zigzag Level Order Traversal](https://github.com/wislertt/leetcode-py/blob/main/leetcode/binary_tree_zigzag_level_order_traversal/README.md)                                   | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/binary_tree_zigzag_level_order_traversal/solution.py)                  |
| 104  | [Maximum Depth of Binary Tree](https://github.com/wislertt/leetcode-py/blob/main/leetcode/maximum_depth_of_binary_tree/README.md)                                                           | Easy       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/maximum_depth_of_binary_tree/solution.py)                              |
| 105  | [Construct Binary Tree from Preorder and Inorder Traversal](https://github.com/wislertt/leetcode-py/blob/main/leetcode/construct_binary_tree_from_preorder_and_inorder_traversal/README.md) | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/construct_binary_tree_from_preorder_and_inorder_traversal/solution.py) |
| 108  | [Convert Sorted Array to Binary Search Tree](https://github.com/wislertt/leetcode-py/blob/main/leetcode/convert_sorted_array_to_binary_search_tree/README.md)                               | Easy       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/convert_sorted_array_to_binary_search_tree/solution.py)                |
| 110  | [Balanced Binary Tree](https://github.com/wislertt/leetcode-py/blob/main/leetcode/balanced_binary_tree/README.md)                                                                           | Easy       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/balanced_binary_tree/solution.py)                                      |
| 113  | [Path Sum II](https://github.com/wislertt/leetcode-py/blob/main/leetcode/path_sum_ii/README.md)                                                                                             | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/path_sum_ii/solution.py)                                               |
| 121  | [Best Time to Buy and Sell Stock](https://github.com/wislertt/leetcode-py/blob/main/leetcode/best_time_to_buy_and_sell_stock/README.md)                                                     | Easy       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/best_time_to_buy_and_sell_stock/solution.py)                           |
| 124  | [Binary Tree Maximum Path Sum](https://github.com/wislertt/leetcode-py/blob/main/leetcode/binary_tree_maximum_path_sum/README.md)                                                           | Hard       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/binary_tree_maximum_path_sum/solution.py)                              |
| 125  | [Valid Palindrome](https://github.com/wislertt/leetcode-py/blob/main/leetcode/valid_palindrome/README.md)                                                                                   | Easy       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/valid_palindrome/solution.py)                                          |
| 127  | [Word Ladder](https://github.com/wislertt/leetcode-py/blob/main/leetcode/word_ladder/README.md)                                                                                             | Hard       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/word_ladder/solution.py)                                               |
| 128  | [Longest Consecutive Sequence](https://github.com/wislertt/leetcode-py/blob/main/leetcode/longest_consecutive_sequence/README.md)                                                           | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/longest_consecutive_sequence/solution.py)                              |
| 133  | [Clone Graph](https://github.com/wislertt/leetcode-py/blob/main/leetcode/clone_graph/README.md)                                                                                             | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/clone_graph/solution.py)                                               |
| 134  | [Gas Station](https://github.com/wislertt/leetcode-py/blob/main/leetcode/gas_station/README.md)                                                                                             | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/gas_station/solution.py)                                               |
| 136  | [Single Number](https://github.com/wislertt/leetcode-py/blob/main/leetcode/single_number/README.md)                                                                                         | Easy       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/single_number/solution.py)                                             |
| 139  | [Word Break](https://github.com/wislertt/leetcode-py/blob/main/leetcode/word_break/README.md)                                                                                               | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/word_break/solution.py)                                                |
| 141  | [Linked List Cycle](https://github.com/wislertt/leetcode-py/blob/main/leetcode/linked_list_cycle/README.md)                                                                                 | Easy       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/linked_list_cycle/solution.py)                                         |
| 143  | [Reorder List](https://github.com/wislertt/leetcode-py/blob/main/leetcode/reorder_list/README.md)                                                                                           | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/reorder_list/solution.py)                                              |
| 146  | [LRU Cache](https://github.com/wislertt/leetcode-py/blob/main/leetcode/lru_cache/README.md)                                                                                                 | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/lru_cache/solution.py)                                                 |
| 148  | [Sort List](https://github.com/wislertt/leetcode-py/blob/main/leetcode/sort_list/README.md)                                                                                                 | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/sort_list/solution.py)                                                 |
| 150  | [Evaluate Reverse Polish Notation](https://github.com/wislertt/leetcode-py/blob/main/leetcode/evaluate_reverse_polish_notation/README.md)                                                   | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/evaluate_reverse_polish_notation/solution.py)                          |
| 152  | [Maximum Product Subarray](https://github.com/wislertt/leetcode-py/blob/main/leetcode/maximum_product_subarray/README.md)                                                                   | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/maximum_product_subarray/solution.py)                                  |
| 153  | [Find Minimum in Rotated Sorted Array](https://github.com/wislertt/leetcode-py/blob/main/leetcode/find_minimum_in_rotated_sorted_array/README.md)                                           | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/find_minimum_in_rotated_sorted_array/solution.py)                      |
| 155  | [Min Stack](https://github.com/wislertt/leetcode-py/blob/main/leetcode/min_stack/README.md)                                                                                                 | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/min_stack/solution.py)                                                 |
| 169  | [Majority Element](https://github.com/wislertt/leetcode-py/blob/main/leetcode/majority_element/README.md)                                                                                   | Easy       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/majority_element/solution.py)                                          |
| 179  | [Largest Number](https://github.com/wislertt/leetcode-py/blob/main/leetcode/largest_number/README.md)                                                                                       | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/largest_number/solution.py)                                            |
| 189  | [Rotate Array](https://github.com/wislertt/leetcode-py/blob/main/leetcode/rotate_array/README.md)                                                                                           | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/rotate_array/solution.py)                                              |
| 190  | [Reverse Bits](https://github.com/wislertt/leetcode-py/blob/main/leetcode/reverse_bits/README.md)                                                                                           | Easy       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/reverse_bits/solution.py)                                              |
| 191  | [Number of 1 Bits](https://github.com/wislertt/leetcode-py/blob/main/leetcode/number_of_1_bits/README.md)                                                                                   | Easy       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/number_of_1_bits/solution.py)                                          |
| 198  | [House Robber](https://github.com/wislertt/leetcode-py/blob/main/leetcode/house_robber/README.md)                                                                                           | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/house_robber/solution.py)                                              |
| 199  | [Binary Tree Right Side View](https://github.com/wislertt/leetcode-py/blob/main/leetcode/binary_tree_right_side_view/README.md)                                                             | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/binary_tree_right_side_view/solution.py)                               |
| 200  | [Number of Islands](https://github.com/wislertt/leetcode-py/blob/main/leetcode/number_of_islands/README.md)                                                                                 | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/number_of_islands/solution.py)                                         |
| 206  | [Reverse Linked List](https://github.com/wislertt/leetcode-py/blob/main/leetcode/reverse_linked_list/README.md)                                                                             | Easy       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/reverse_linked_list/solution.py)                                       |
| 207  | [Course Schedule](https://github.com/wislertt/leetcode-py/blob/main/leetcode/course_schedule/README.md)                                                                                     | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/course_schedule/solution.py)                                           |
| 208  | [Implement Trie (Prefix Tree)](https://github.com/wislertt/leetcode-py/blob/main/leetcode/implement_trie_prefix_tree/README.md)                                                             | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/implement_trie_prefix_tree/solution.py)                                |
| 210  | [Course Schedule II](https://github.com/wislertt/leetcode-py/blob/main/leetcode/course_schedule_ii/README.md)                                                                               | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/course_schedule_ii/solution.py)                                        |
| 211  | [Design Add and Search Words Data Structure](https://github.com/wislertt/leetcode-py/blob/main/leetcode/design_add_and_search_words_data_structure/README.md)                               | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/design_add_and_search_words_data_structure/solution.py)                |
| 212  | [Word Search II](https://github.com/wislertt/leetcode-py/blob/main/leetcode/word_search_ii/README.md)                                                                                       | Hard       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/word_search_ii/solution.py)                                            |
| 215  | [Kth Largest Element in an Array](https://github.com/wislertt/leetcode-py/blob/main/leetcode/kth_largest_element_in_an_array/README.md)                                                     | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/kth_largest_element_in_an_array/solution.py)                           |
| 217  | [Contains Duplicate](https://github.com/wislertt/leetcode-py/blob/main/leetcode/contains_duplicate/README.md)                                                                               | Easy       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/contains_duplicate/solution.py)                                        |
| 221  | [Maximal Square](https://github.com/wislertt/leetcode-py/blob/main/leetcode/maximal_square/README.md)                                                                                       | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/maximal_square/solution.py)                                            |
| 224  | [Basic Calculator](https://github.com/wislertt/leetcode-py/blob/main/leetcode/basic_calculator/README.md)                                                                                   | Hard       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/basic_calculator/solution.py)                                          |
| 226  | [Invert Binary Tree](https://github.com/wislertt/leetcode-py/blob/main/leetcode/invert_binary_tree/README.md)                                                                               | Easy       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/invert_binary_tree/solution.py)                                        |
| 227  | [Basic Calculator II](https://github.com/wislertt/leetcode-py/blob/main/leetcode/basic_calculator_ii/README.md)                                                                             | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/basic_calculator_ii/solution.py)                                       |
| 230  | [Kth Smallest Element in a BST](https://github.com/wislertt/leetcode-py/blob/main/leetcode/kth_smallest_element_in_a_bst/README.md)                                                         | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/kth_smallest_element_in_a_bst/solution.py)                             |
| 232  | [Implement Queue using Stacks](https://github.com/wislertt/leetcode-py/blob/main/leetcode/implement_queue_using_stacks/README.md)                                                           | Easy       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/implement_queue_using_stacks/solution.py)                              |
| 234  | [Palindrome Linked List](https://github.com/wislertt/leetcode-py/blob/main/leetcode/palindrome_linked_list/README.md)                                                                       | Easy       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/palindrome_linked_list/solution.py)                                    |
| 235  | [Lowest Common Ancestor of a Binary Search Tree](https://github.com/wislertt/leetcode-py/blob/main/leetcode/lowest_common_ancestor_of_a_binary_search_tree/README.md)                       | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/lowest_common_ancestor_of_a_binary_search_tree/solution.py)            |
| 236  | [Lowest Common Ancestor of a Binary Tree](https://github.com/wislertt/leetcode-py/blob/main/leetcode/lowest_common_ancestor_of_a_binary_tree/README.md)                                     | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/lowest_common_ancestor_of_a_binary_tree/solution.py)                   |
| 238  | [Product of Array Except Self](https://github.com/wislertt/leetcode-py/blob/main/leetcode/product_of_array_except_self/README.md)                                                           | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/product_of_array_except_self/solution.py)                              |
| 239  | [Sliding Window Maximum](https://github.com/wislertt/leetcode-py/blob/main/leetcode/sliding_window_maximum/README.md)                                                                       | Hard       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/sliding_window_maximum/solution.py)                                    |
| 242  | [Valid Anagram](https://github.com/wislertt/leetcode-py/blob/main/leetcode/valid_anagram/README.md)                                                                                         | Easy       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/valid_anagram/solution.py)                                             |
| 252  | [Meeting Rooms](https://github.com/wislertt/leetcode-py/blob/main/leetcode/meeting_rooms/README.md)                                                                                         | Easy       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/meeting_rooms/solution.py)                                             |
| 253  | [Meeting Rooms II](https://github.com/wislertt/leetcode-py/blob/main/leetcode/meeting_rooms_ii/README.md)                                                                                   | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/meeting_rooms_ii/solution.py)                                          |
| 261  | [Graph Valid Tree](https://github.com/wislertt/leetcode-py/blob/main/leetcode/graph_valid_tree/README.md)                                                                                   | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/graph_valid_tree/solution.py)                                          |
| 268  | [Missing Number](https://github.com/wislertt/leetcode-py/blob/main/leetcode/missing_number/README.md)                                                                                       | Easy       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/missing_number/solution.py)                                            |
| 269  | [Alien Dictionary](https://github.com/wislertt/leetcode-py/blob/main/leetcode/alien_dictionary/README.md)                                                                                   | Hard       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/alien_dictionary/solution.py)                                          |
| 271  | [Encode and Decode Strings](https://github.com/wislertt/leetcode-py/blob/main/leetcode/encode_and_decode_strings/README.md)                                                                 | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/encode_and_decode_strings/solution.py)                                 |
| 278  | [First Bad Version](https://github.com/wislertt/leetcode-py/blob/main/leetcode/first_bad_version/README.md)                                                                                 | Easy       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/first_bad_version/solution.py)                                         |
| 283  | [Move Zeroes](https://github.com/wislertt/leetcode-py/blob/main/leetcode/move_zeroes/README.md)                                                                                             | Easy       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/move_zeroes/solution.py)                                               |
| 285  | [Inorder Successor in BST](https://github.com/wislertt/leetcode-py/blob/main/leetcode/inorder_successor_in_bst/README.md)                                                                   | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/inorder_successor_in_bst/solution.py)                                  |
| 287  | [Find the Duplicate Number](https://github.com/wislertt/leetcode-py/blob/main/leetcode/find_the_duplicate_number/README.md)                                                                 | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/find_the_duplicate_number/solution.py)                                 |
| 295  | [Find Median from Data Stream](https://github.com/wislertt/leetcode-py/blob/main/leetcode/find_median_from_data_stream/README.md)                                                           | Hard       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/find_median_from_data_stream/solution.py)                              |
| 297  | [Serialize and Deserialize Binary Tree](https://github.com/wislertt/leetcode-py/blob/main/leetcode/serialize_and_deserialize_binary_tree/README.md)                                         | Hard       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/serialize_and_deserialize_binary_tree/solution.py)                     |
| 300  | [Longest Increasing Subsequence](https://github.com/wislertt/leetcode-py/blob/main/leetcode/longest_increasing_subsequence/README.md)                                                       | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/longest_increasing_subsequence/solution.py)                            |
| 310  | [Minimum Height Trees](https://github.com/wislertt/leetcode-py/blob/main/leetcode/minimum_height_trees/README.md)                                                                           | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/minimum_height_trees/solution.py)                                      |
| 322  | [Coin Change](https://github.com/wislertt/leetcode-py/blob/main/leetcode/coin_change/README.md)                                                                                             | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/coin_change/solution.py)                                               |
| 323  | [Number of Connected Components in an Undirected Graph](https://github.com/wislertt/leetcode-py/blob/main/leetcode/number_of_connected_components_in_an_undirected_graph/README.md)         | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/number_of_connected_components_in_an_undirected_graph/solution.py)     |
| 328  | [Odd Even Linked List](https://github.com/wislertt/leetcode-py/blob/main/leetcode/odd_even_linked_list/README.md)                                                                           | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/odd_even_linked_list/solution.py)                                      |
| 329  | [Longest Increasing Path in a Matrix](https://github.com/wislertt/leetcode-py/blob/main/leetcode/longest_increasing_path_in_a_matrix/README.md)                                             | Hard       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/longest_increasing_path_in_a_matrix/solution.py)                       |
| 336  | [Palindrome Pairs](https://github.com/wislertt/leetcode-py/blob/main/leetcode/palindrome_pairs/README.md)                                                                                   | Hard       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/palindrome_pairs/solution.py)                                          |
| 338  | [Counting Bits](https://github.com/wislertt/leetcode-py/blob/main/leetcode/counting_bits/README.md)                                                                                         | Easy       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/counting_bits/solution.py)                                             |
| 362  | [Design Hit Counter](https://github.com/wislertt/leetcode-py/blob/main/leetcode/design_hit_counter/README.md)                                                                               | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/design_hit_counter/solution.py)                                        |
| 377  | [Combination Sum IV](https://github.com/wislertt/leetcode-py/blob/main/leetcode/combination_sum_iv/README.md)                                                                               | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/combination_sum_iv/solution.py)                                        |
| 380  | [Insert Delete GetRandom O(1)](https://github.com/wislertt/leetcode-py/blob/main/leetcode/insert_delete_getrandom_o1/README.md)                                                             | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/insert_delete_getrandom_o1/solution.py)                                |
| 383  | [Ransom Note](https://github.com/wislertt/leetcode-py/blob/main/leetcode/ransom_note/README.md)                                                                                             | Easy       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/ransom_note/solution.py)                                               |
| 394  | [Decode String](https://github.com/wislertt/leetcode-py/blob/main/leetcode/decode_string/README.md)                                                                                         | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/decode_string/solution.py)                                             |
| 409  | [Longest Palindrome](https://github.com/wislertt/leetcode-py/blob/main/leetcode/longest_palindrome/README.md)                                                                               | Easy       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/longest_palindrome/solution.py)                                        |
| 416  | [Partition Equal Subset Sum](https://github.com/wislertt/leetcode-py/blob/main/leetcode/partition_equal_subset_sum/README.md)                                                               | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/partition_equal_subset_sum/solution.py)                                |
| 417  | [Pacific Atlantic Water Flow](https://github.com/wislertt/leetcode-py/blob/main/leetcode/pacific_atlantic_water_flow/README.md)                                                             | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/pacific_atlantic_water_flow/solution.py)                               |
| 424  | [Longest Repeating Character Replacement](https://github.com/wislertt/leetcode-py/blob/main/leetcode/longest_repeating_character_replacement/README.md)                                     | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/longest_repeating_character_replacement/solution.py)                   |
| 435  | [Non-overlapping Intervals](https://github.com/wislertt/leetcode-py/blob/main/leetcode/non_overlapping_intervals/README.md)                                                                 | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/non_overlapping_intervals/solution.py)                                 |
| 437  | [Path Sum III](https://github.com/wislertt/leetcode-py/blob/main/leetcode/path_sum_iii/README.md)                                                                                           | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/path_sum_iii/solution.py)                                              |
| 438  | [Find All Anagrams in a String](https://github.com/wislertt/leetcode-py/blob/main/leetcode/find_all_anagrams_in_a_string/README.md)                                                         | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/find_all_anagrams_in_a_string/solution.py)                             |
| 525  | [Contiguous Array](https://github.com/wislertt/leetcode-py/blob/main/leetcode/contiguous_array/README.md)                                                                                   | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/contiguous_array/solution.py)                                          |
| 528  | [Random Pick with Weight](https://github.com/wislertt/leetcode-py/blob/main/leetcode/random_pick_with_weight/README.md)                                                                     | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/random_pick_with_weight/solution.py)                                   |
| 542  | [01 Matrix](https://github.com/wislertt/leetcode-py/blob/main/leetcode/zero_one_matrix/README.md)                                                                                           | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/zero_one_matrix/solution.py)                                           |
| 543  | [Diameter of Binary Tree](https://github.com/wislertt/leetcode-py/blob/main/leetcode/diameter_of_binary_tree/README.md)                                                                     | Easy       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/diameter_of_binary_tree/solution.py)                                   |
| 560  | [Subarray Sum Equals K](https://github.com/wislertt/leetcode-py/blob/main/leetcode/subarray_sum_equals_k/README.md)                                                                         | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/subarray_sum_equals_k/solution.py)                                     |
| 572  | [Subtree of Another Tree](https://github.com/wislertt/leetcode-py/blob/main/leetcode/subtree_of_another_tree/README.md)                                                                     | Easy       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/subtree_of_another_tree/solution.py)                                   |
| 588  | [Design In-Memory File System](https://github.com/wislertt/leetcode-py/blob/main/leetcode/design_in_memory_file_system/README.md)                                                           | Hard       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/design_in_memory_file_system/solution.py)                              |
| 621  | [Task Scheduler](https://github.com/wislertt/leetcode-py/blob/main/leetcode/task_scheduler/README.md)                                                                                       | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/task_scheduler/solution.py)                                            |
| 632  | [Smallest Range Covering Elements from K Lists](https://github.com/wislertt/leetcode-py/blob/main/leetcode/smallest_range_covering_elements_from_k_lists/README.md)                         | Hard       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/smallest_range_covering_elements_from_k_lists/solution.py)             |
| 658  | [Find K Closest Elements](https://github.com/wislertt/leetcode-py/blob/main/leetcode/find_k_closest_elements/README.md)                                                                     | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/find_k_closest_elements/solution.py)                                   |
| 662  | [Maximum Width of Binary Tree](https://github.com/wislertt/leetcode-py/blob/main/leetcode/maximum_width_of_binary_tree/README.md)                                                           | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/maximum_width_of_binary_tree/solution.py)                              |
| 692  | [Top K Frequent Words](https://github.com/wislertt/leetcode-py/blob/main/leetcode/top_k_frequent_words/README.md)                                                                           | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/top_k_frequent_words/solution.py)                                      |
| 704  | [Binary Search](https://github.com/wislertt/leetcode-py/blob/main/leetcode/binary_search/README.md)                                                                                         | Easy       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/binary_search/solution.py)                                             |
| 721  | [Accounts Merge](https://github.com/wislertt/leetcode-py/blob/main/leetcode/accounts_merge/README.md)                                                                                       | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/accounts_merge/solution.py)                                            |
| 733  | [Flood Fill](https://github.com/wislertt/leetcode-py/blob/main/leetcode/flood_fill/README.md)                                                                                               | Easy       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/flood_fill/solution.py)                                                |
| 735  | [Asteroid Collision](https://github.com/wislertt/leetcode-py/blob/main/leetcode/asteroid_collision/README.md)                                                                               | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/asteroid_collision/solution.py)                                        |
| 739  | [Daily Temperatures](https://github.com/wislertt/leetcode-py/blob/main/leetcode/daily_temperatures/README.md)                                                                               | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/daily_temperatures/solution.py)                                        |
| 759  | [Employee Free Time](https://github.com/wislertt/leetcode-py/blob/main/leetcode/employee_free_time/README.md)                                                                               | Hard       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/employee_free_time/solution.py)                                        |
| 787  | [Cheapest Flights Within K Stops](https://github.com/wislertt/leetcode-py/blob/main/leetcode/cheapest_flights_within_k_stops/README.md)                                                     | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/cheapest_flights_within_k_stops/solution.py)                           |
| 815  | [Bus Routes](https://github.com/wislertt/leetcode-py/blob/main/leetcode/bus_routes/README.md)                                                                                               | Hard       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/bus_routes/solution.py)                                                |
| 844  | [Backspace String Compare](https://github.com/wislertt/leetcode-py/blob/main/leetcode/backspace_string_compare/README.md)                                                                   | Easy       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/backspace_string_compare/solution.py)                                  |
| 863  | [All Nodes Distance K in Binary Tree](https://github.com/wislertt/leetcode-py/blob/main/leetcode/all_nodes_distance_k_in_binary_tree/README.md)                                             | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/all_nodes_distance_k_in_binary_tree/solution.py)                       |
| 876  | [Middle of the Linked List](https://github.com/wislertt/leetcode-py/blob/main/leetcode/middle_of_the_linked_list/README.md)                                                                 | Easy       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/middle_of_the_linked_list/solution.py)                                 |
| 895  | [Maximum Frequency Stack](https://github.com/wislertt/leetcode-py/blob/main/leetcode/maximum_frequency_stack/README.md)                                                                     | Hard       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/maximum_frequency_stack/solution.py)                                   |
| 973  | [K Closest Points to Origin](https://github.com/wislertt/leetcode-py/blob/main/leetcode/k_closest_points_to_origin/README.md)                                                               | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/k_closest_points_to_origin/solution.py)                                |
| 977  | [Squares of a Sorted Array](https://github.com/wislertt/leetcode-py/blob/main/leetcode/squares_of_a_sorted_array/README.md)                                                                 | Easy       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/squares_of_a_sorted_array/solution.py)                                 |
| 981  | [Time Based Key-Value Store](https://github.com/wislertt/leetcode-py/blob/main/leetcode/time_based_key_value_store/README.md)                                                               | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/time_based_key_value_store/solution.py)                                |
| 994  | [Rotting Oranges](https://github.com/wislertt/leetcode-py/blob/main/leetcode/rotting_oranges/README.md)                                                                                     | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/rotting_oranges/solution.py)                                           |
| 1091 | [Shortest Path in Binary Matrix](https://github.com/wislertt/leetcode-py/blob/main/leetcode/shortest_path_in_binary_matrix/README.md)                                                       | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/shortest_path_in_binary_matrix/solution.py)                            |
| 1197 | [Minimum Knight Moves](https://github.com/wislertt/leetcode-py/blob/main/leetcode/minimum_knight_moves/README.md)                                                                           | Medium     | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/minimum_knight_moves/solution.py)                                      |
| 1235 | [Maximum Profit in Job Scheduling](https://github.com/wislertt/leetcode-py/blob/main/leetcode/maximum_profit_in_job_scheduling/README.md)                                                   | Hard       | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/maximum_profit_in_job_scheduling/solution.py)                          |
