> ## 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.

# Matrix in Python with Tests

> All 122 Matrix LeetCode problems with tested Python solutions.

Matrix holds 122 problems (17 Easy, 74 Medium, 31 Hard).
Generate any of them into the current directory with `lcpy gen -n <number>`.

| # | Problem | Difficulty | Solution |
| - | - | - | - |
| 36 | [Valid Sudoku](https://leetcode-py.wisl.dev/problems/valid-sudoku) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/valid_sudoku/solution.py) |
| 37 | [Sudoku Solver](https://leetcode-py.wisl.dev/problems/sudoku-solver) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/sudoku_solver/solution.py) |
| 48 | [Rotate Image](https://leetcode-py.wisl.dev/problems/rotate-image) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/rotate_image/solution.py) |
| 54 | [Spiral Matrix](https://leetcode-py.wisl.dev/problems/spiral-matrix) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/spiral_matrix/solution.py) |
| 59 | [Spiral Matrix II](https://leetcode-py.wisl.dev/problems/spiral-matrix-ii) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/spiral_matrix_ii/solution.py) |
| 63 | [Unique Paths II](https://leetcode-py.wisl.dev/problems/unique-paths-ii) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/unique_paths_ii/solution.py) |
| 64 | [Minimum Path Sum](https://leetcode-py.wisl.dev/problems/minimum-path-sum) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/minimum_path_sum/solution.py) |
| 73 | [Set Matrix Zeroes](https://leetcode-py.wisl.dev/problems/set-matrix-zeroes) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/set_matrix_zeroes/solution.py) |
| 74 | [Search a 2D Matrix](https://leetcode-py.wisl.dev/problems/search-a-2d-matrix) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/search_a_2d_matrix/solution.py) |
| 79 | [Word Search](https://leetcode-py.wisl.dev/problems/word-search) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/word_search/solution.py) |
| 85 | [Maximal Rectangle](https://leetcode-py.wisl.dev/problems/maximal-rectangle) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/maximal_rectangle/solution.py) |
| 130 | [Surrounded Regions](https://leetcode-py.wisl.dev/problems/surrounded-regions) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/surrounded_regions/solution.py) |
| 174 | [Dungeon Game](https://leetcode-py.wisl.dev/problems/dungeon-game) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/dungeon_game/solution.py) |
| 200 | [Number of Islands](https://leetcode-py.wisl.dev/problems/number-of-islands) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/number_of_islands/solution.py) |
| 212 | [Word Search II](https://leetcode-py.wisl.dev/problems/word-search-ii) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/word_search_ii/solution.py) |
| 221 | [Maximal Square](https://leetcode-py.wisl.dev/problems/maximal-square) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/maximal_square/solution.py) |
| 240 | [Search a 2D Matrix II](https://leetcode-py.wisl.dev/problems/search-a-2d-matrix-ii) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/search_a_2d_matrix_ii/solution.py) |
| 286 | [Walls And Gates](https://leetcode-py.wisl.dev/problems/walls-and-gates) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/walls_and_gates/solution.py) |
| 289 | [Game of Life](https://leetcode-py.wisl.dev/problems/game-of-life) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/game_of_life/solution.py) |
| 296 | [Best Meeting Point](https://leetcode-py.wisl.dev/problems/best-meeting-point) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/best_meeting_point/solution.py) |
| 302 | [Smallest Rectangle Enclosing Black Pixels](https://leetcode-py.wisl.dev/problems/smallest-rectangle-enclosing-black-pixels) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/smallest_rectangle_enclosing_black_pixels/solution.py) |
| 304 | [Range Sum Query 2D - Immutable](https://leetcode-py.wisl.dev/problems/range-sum-query-2d-immutable) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/range_sum_query_2d_immutable/solution.py) |
| 308 | [Range Sum Query 2D - Mutable](https://leetcode-py.wisl.dev/problems/range-sum-query-2d-mutable) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/range_sum_query_2d_mutable/solution.py) |
| 311 | [Sparse Matrix Multiplication](https://leetcode-py.wisl.dev/problems/sparse-matrix-multiplication) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/sparse_matrix_multiplication/solution.py) |
| 317 | [Shortest Distance from All Buildings](https://leetcode-py.wisl.dev/problems/shortest-distance-from-all-buildings) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/shortest_distance_from_all_buildings/solution.py) |
| 329 | [Longest Increasing Path in a Matrix](https://leetcode-py.wisl.dev/problems/longest-increasing-path-in-a-matrix) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/longest_increasing_path_in_a_matrix/solution.py) |
| 348 | [Design Tic-Tac-Toe](https://leetcode-py.wisl.dev/problems/design-tic-tac-toe) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/design_tic_tac_toe/solution.py) |
| 361 | [Bomb Enemy](https://leetcode-py.wisl.dev/problems/bomb-enemy) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/bomb_enemy/solution.py) |
| 363 | [Max Sum of Rectangle No Larger Than K](https://leetcode-py.wisl.dev/problems/max-sum-of-rectangle-no-larger-than-k) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/max_sum_of_rectangle_no_larger_than_k/solution.py) |
| 378 | [Kth Smallest Element in a Sorted Matrix](https://leetcode-py.wisl.dev/problems/kth-smallest-element-in-a-sorted-matrix) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/kth_smallest_element_in_a_sorted_matrix/solution.py) |
| 407 | [Trapping Rain Water II](https://leetcode-py.wisl.dev/problems/trapping-rain-water-ii) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/trapping_rain_water_ii/solution.py) |
| 417 | [Pacific Atlantic Water Flow](https://leetcode-py.wisl.dev/problems/pacific-atlantic-water-flow) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/pacific_atlantic_water_flow/solution.py) |
| 419 | [Battleships in a Board](https://leetcode-py.wisl.dev/problems/battleships-in-a-board) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/battleships_in_a_board/solution.py) |
| 422 | [Valid Word Square](https://leetcode-py.wisl.dev/problems/valid-word-square) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/valid_word_square/solution.py) |
| 427 | [Construct Quad Tree](https://leetcode-py.wisl.dev/problems/construct-quad-tree) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/construct_quad_tree/solution.py) |
| 463 | [Island Perimeter](https://leetcode-py.wisl.dev/problems/island-perimeter) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/island_perimeter/solution.py) |
| 490 | [The Maze](https://leetcode-py.wisl.dev/problems/the-maze) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/the_maze/solution.py) |
| 498 | [Diagonal Traverse](https://leetcode-py.wisl.dev/problems/diagonal-traverse) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/diagonal_traverse/solution.py) |
| 499 | [The Maze III](https://leetcode-py.wisl.dev/problems/the-maze-iii) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/the_maze_iii/solution.py) |
| 505 | [The Maze II](https://leetcode-py.wisl.dev/problems/the-maze-ii) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/the_maze_ii/solution.py) |
| 529 | [Minesweeper](https://leetcode-py.wisl.dev/problems/minesweeper) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/minesweeper/solution.py) |
| 531 | [Lonely Pixel I](https://leetcode-py.wisl.dev/problems/lonely-pixel-i) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/lonely_pixel_i/solution.py) |
| 533 | [Lonely Pixel II](https://leetcode-py.wisl.dev/problems/lonely-pixel-ii) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/lonely_pixel_ii/solution.py) |
| 542 | [01 Matrix](https://leetcode-py.wisl.dev/problems/zero-one-matrix) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/zero_one_matrix/solution.py) |
| 562 | [Longest Line of Consecutive One in Matrix](https://leetcode-py.wisl.dev/problems/longest-line-of-consecutive-one-in-matrix) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/longest_line_of_consecutive_one_in_matrix/solution.py) |
| 566 | [Reshape the Matrix](https://leetcode-py.wisl.dev/problems/reshape-the-matrix) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/reshape_the_matrix/solution.py) |
| 568 | [Maximum Vacation Days](https://leetcode-py.wisl.dev/problems/maximum-vacation-days) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/maximum_vacation_days/solution.py) |
| 631 | [Design Excel Sum Formula](https://leetcode-py.wisl.dev/problems/design-excel-sum-formula) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/design_excel_sum_formula/solution.py) |
| 661 | [Image Smoother](https://leetcode-py.wisl.dev/problems/image-smoother) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/image_smoother/solution.py) |
| 675 | [Cut Off Trees for Golf Event](https://leetcode-py.wisl.dev/problems/cut-off-trees-for-golf-event) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/cut_off_trees_for_golf_event/solution.py) |
| 695 | [Max Area of Island](https://leetcode-py.wisl.dev/problems/max-area-of-island) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/max_area_of_island/solution.py) |
| 723 | [Candy Crush](https://leetcode-py.wisl.dev/problems/candy-crush) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/candy_crush/solution.py) |
| 733 | [Flood Fill](https://leetcode-py.wisl.dev/problems/flood-fill) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/flood_fill/solution.py) |
| 741 | [Cherry Pickup](https://leetcode-py.wisl.dev/problems/cherry-pickup) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/cherry_pickup/solution.py) |
| 749 | [Contain Virus](https://leetcode-py.wisl.dev/problems/contain-virus) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/contain_virus/solution.py) |
| 750 | [Number Of Corner Rectangles](https://leetcode-py.wisl.dev/problems/number-of-corner-rectangles) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/number_of_corner_rectangles/solution.py) |
| 766 | [Toeplitz Matrix](https://leetcode-py.wisl.dev/problems/toeplitz-matrix) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/toeplitz_matrix/solution.py) |
| 773 | [Sliding Puzzle](https://leetcode-py.wisl.dev/problems/sliding-puzzle) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/sliding_puzzle/solution.py) |
| 778 | [Swim in Rising Water](https://leetcode-py.wisl.dev/problems/swim-in-rising-water) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/swim_in_rising_water/solution.py) |
| 782 | [Transform to Chessboard](https://leetcode-py.wisl.dev/problems/transform-to-chessboard) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/transform_to_chessboard/solution.py) |
| 794 | [Valid Tic-Tac-Toe State](https://leetcode-py.wisl.dev/problems/valid-tic-tac-toe-state) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/valid_tic_tac_toe_state/solution.py) |
| 803 | [Bricks Falling When Hit](https://leetcode-py.wisl.dev/problems/bricks-falling-when-hit) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/bricks_falling_when_hit/solution.py) |
| 807 | [Max Increase to Keep City Skyline](https://leetcode-py.wisl.dev/problems/max-increase-to-keep-city-skyline) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/max_increase_to_keep_city_skyline/solution.py) |
| 827 | [Making A Large Island](https://leetcode-py.wisl.dev/problems/making-a-large-island) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/making_a_large_island/solution.py) |
| 832 | [Flipping an Image](https://leetcode-py.wisl.dev/problems/flipping-an-image) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/flipping_an_image/solution.py) |
| 835 | [Image Overlap](https://leetcode-py.wisl.dev/problems/image-overlap) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/image_overlap/solution.py) |
| 840 | [Magic Squares In Grid](https://leetcode-py.wisl.dev/problems/magic-squares-in-grid) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/magic_squares_in_grid/solution.py) |
| 861 | [Score After Flipping Matrix](https://leetcode-py.wisl.dev/problems/score-after-flipping-matrix) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/score_after_flipping_matrix/solution.py) |
| 864 | [Shortest Path to Get All Keys](https://leetcode-py.wisl.dev/problems/shortest-path-to-get-all-keys) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/shortest_path_to_get_all_keys/solution.py) |
| 867 | [Transpose Matrix](https://leetcode-py.wisl.dev/problems/transpose-matrix) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/transpose_matrix/solution.py) |
| 883 | [Projection Area of 3D Shapes](https://leetcode-py.wisl.dev/problems/projection-area-of-3d-shapes) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/projection_area_of_3d_shapes/solution.py) |
| 885 | [Spiral Matrix III](https://leetcode-py.wisl.dev/problems/spiral-matrix-iii) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/spiral_matrix_iii/solution.py) |
| 892 | [Surface Area of 3D Shapes](https://leetcode-py.wisl.dev/problems/surface-area-of-3d-shapes) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/surface_area_of_3d_shapes/solution.py) |
| 909 | [Snakes and Ladders](https://leetcode-py.wisl.dev/problems/snakes-and-ladders) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/snakes_and_ladders/solution.py) |
| 931 | [Minimum Falling Path Sum](https://leetcode-py.wisl.dev/problems/minimum-falling-path-sum) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/minimum_falling_path_sum/solution.py) |
| 934 | [Shortest Bridge](https://leetcode-py.wisl.dev/problems/shortest-bridge) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/shortest_bridge/solution.py) |
| 959 | [Regions Cut By Slashes](https://leetcode-py.wisl.dev/problems/regions-cut-by-slashes) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/regions_cut_by_slashes/solution.py) |
| 980 | [Unique Paths III](https://leetcode-py.wisl.dev/problems/unique-paths-iii) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/unique_paths_iii/solution.py) |
| 994 | [Rotting Oranges](https://leetcode-py.wisl.dev/problems/rotting-oranges) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/rotting_oranges/solution.py) |
| 999 | [Available Captures for Rook](https://leetcode-py.wisl.dev/problems/available-captures-for-rook) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/available_captures_for_rook/solution.py) |
| 1020 | [Number of Enclaves](https://leetcode-py.wisl.dev/problems/number-of-enclaves) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/number_of_enclaves/solution.py) |
| 1072 | [Flip Columns For Maximum Number of Equal Rows](https://leetcode-py.wisl.dev/problems/flip-columns-for-maximum-number-of-equal-rows) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/flip_columns_for_maximum_number_of_equal_rows/solution.py) |
| 1074 | [Number of Submatrices That Sum to Target](https://leetcode-py.wisl.dev/problems/number-of-submatrices-that-sum-to-target) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/number_of_submatrices_that_sum_to_target/solution.py) |
| 1091 | [Shortest Path in Binary Matrix](https://leetcode-py.wisl.dev/problems/shortest-path-in-binary-matrix) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/shortest_path_in_binary_matrix/solution.py) |
| 1102 | [Path With Maximum Minimum Value](https://leetcode-py.wisl.dev/problems/path-with-maximum-minimum-value) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/path_with_maximum_minimum_value/solution.py) |
| 1162 | [As Far from Land as Possible](https://leetcode-py.wisl.dev/problems/as-far-from-land-as-possible) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/as_far_from_land_as_possible/solution.py) |
| 1198 | [Find Smallest Common Element in All Rows](https://leetcode-py.wisl.dev/problems/find-smallest-common-element-in-all-rows) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/find_smallest_common_element_in_all_rows/solution.py) |
| 1219 | [Path with Maximum Gold](https://leetcode-py.wisl.dev/problems/path-with-maximum-gold) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/path_with_maximum_gold/solution.py) |
| 1254 | [Number of Closed Islands](https://leetcode-py.wisl.dev/problems/number-of-closed-islands) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/number_of_closed_islands/solution.py) |
| 1260 | [Shift 2D Grid](https://leetcode-py.wisl.dev/problems/shift-2d-grid) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/shift_2d_grid/solution.py) |
| 1267 | [Count Servers that Communicate](https://leetcode-py.wisl.dev/problems/count-servers-that-communicate) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/count_servers_that_communicate/solution.py) |
| 1277 | [Count Square Submatrices with All Ones](https://leetcode-py.wisl.dev/problems/count-square-submatrices-with-all-ones) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/count_square_submatrices_with_all_ones/solution.py) |
| 1289 | [Minimum Falling Path Sum II](https://leetcode-py.wisl.dev/problems/minimum-falling-path-sum-ii) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/minimum_falling_path_sum_ii/solution.py) |
| 1368 | [Minimum Cost to Make at Least One Valid Path in a Grid](https://leetcode-py.wisl.dev/problems/minimum-cost-to-make-at-least-one-valid-path-in-a-grid) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/minimum_cost_to_make_at_least_one_valid_path_in_a_grid/solution.py) |
| 1380 | [Lucky Numbers in a Matrix](https://leetcode-py.wisl.dev/problems/lucky-numbers-in-a-matrix) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/lucky_numbers_in_a_matrix/solution.py) |
| 1428 | [Leftmost Column with at Least a One](https://leetcode-py.wisl.dev/problems/leftmost-column-with-one) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/leftmost_column_with_one/solution.py) |
| 1463 | [Cherry Pickup II](https://leetcode-py.wisl.dev/problems/cherry-pickup-ii) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/cherry_pickup_ii/solution.py) |
| 1568 | [Minimum Number of Days to Disconnect Island](https://leetcode-py.wisl.dev/problems/minimum-number-of-days-to-disconnect-island) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/minimum_number_of_days_to_disconnect_island/solution.py) |
| 1572 | [Matrix Diagonal Sum](https://leetcode-py.wisl.dev/problems/matrix-diagonal-sum) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/matrix_diagonal_sum/solution.py) |
| 1605 | [Find Valid Matrix Given Row and Column Sums](https://leetcode-py.wisl.dev/problems/find-valid-matrix-given-row-and-column-sums) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/find_valid_matrix_given_row_and_column_sums/solution.py) |
| 1631 | [Path With Minimum Effort](https://leetcode-py.wisl.dev/problems/path-with-minimum-effort) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/path_with_minimum_effort/solution.py) |
| 1727 | [Largest Submatrix With Rearrangements](https://leetcode-py.wisl.dev/problems/largest-submatrix-with-rearrangements) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/largest_submatrix_with_rearrangements/solution.py) |
| 1730 | [Shortest Path to Get Food](https://leetcode-py.wisl.dev/problems/shortest-path-to-get-food) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/shortest_path_to_get_food/solution.py) |
| 1861 | [Rotating the Box](https://leetcode-py.wisl.dev/problems/rotating-the-box) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/rotating_the_box/solution.py) |
| 1905 | [Count Sub Islands](https://leetcode-py.wisl.dev/problems/count-sub-islands) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/count_sub_islands/solution.py) |
| 1937 | [Maximum Number of Points with Cost](https://leetcode-py.wisl.dev/problems/maximum-number-of-points-with-cost) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/maximum_number_of_points_with_cost/solution.py) |
| 1958 | [Check if Move is Legal](https://leetcode-py.wisl.dev/problems/check-if-move-is-legal) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/check_if_move_is_legal/solution.py) |
| 1975 | [Maximum Matrix Sum](https://leetcode-py.wisl.dev/problems/maximum-matrix-sum) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/maximum_matrix_sum/solution.py) |
| 2017 | [Grid Game](https://leetcode-py.wisl.dev/problems/grid-game) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/grid_game/solution.py) |
| 2022 | [Convert 1D Array Into 2D Array](https://leetcode-py.wisl.dev/problems/convert-1d-array-into-2d-array) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/convert_1d_array_into_2d_array/solution.py) |
| 2033 | [Minimum Operations to Make a Uni-Value Grid](https://leetcode-py.wisl.dev/problems/minimum-operations-to-make-a-uni-value-grid) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/minimum_operations_to_make_a_uni_value_grid/solution.py) |
| 2125 | [Number of Laser Beams in a Bank](https://leetcode-py.wisl.dev/problems/number-of-laser-beams-in-a-bank) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/number_of_laser_beams_in_a_bank/solution.py) |
| 2257 | [Count Unguarded Cells in the Grid](https://leetcode-py.wisl.dev/problems/count-unguarded-cells-in-the-grid) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/count_unguarded_cells_in_the_grid/solution.py) |
| 2290 | [Minimum Obstacle Removal to Reach Corner](https://leetcode-py.wisl.dev/problems/minimum-obstacle-removal-to-reach-corner) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/minimum_obstacle_removal_to_reach_corner/solution.py) |
| 2326 | [Spiral Matrix IV](https://leetcode-py.wisl.dev/problems/spiral-matrix-iv) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/spiral_matrix_iv/solution.py) |
| 2373 | [Largest Local Values in a Matrix](https://leetcode-py.wisl.dev/problems/largest-local-values-in-a-matrix) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/largest_local_values_in_a_matrix/solution.py) |
| 2392 | [Build a Matrix With Conditions](https://leetcode-py.wisl.dev/problems/build-a-matrix-with-conditions) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/build_a_matrix_with_conditions/solution.py) |
| 2503 | [Maximum Number of Points From Grid Queries](https://leetcode-py.wisl.dev/problems/maximum-number-of-points-from-grid-queries) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/maximum_number_of_points_from_grid_queries/solution.py) |
| 2577 | [Minimum Time to Visit a Cell In a Grid](https://leetcode-py.wisl.dev/problems/minimum-time-to-visit-a-cell-in-a-grid) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/minimum_time_to_visit_a_cell_in_a_grid/solution.py) |
| 2658 | [Maximum Number of Fish in a Grid](https://leetcode-py.wisl.dev/problems/maximum-number-of-fish-in-a-grid) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/maximum_number_of_fish_in_a_grid/solution.py) |
| 2812 | [Find the Safest Path in a Grid](https://leetcode-py.wisl.dev/problems/find-the-safest-path-in-a-grid) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/find_the_safest_path_in_a_grid/solution.py) |
| 2965 | [Find Missing and Repeated Values](https://leetcode-py.wisl.dev/problems/find-missing-and-repeated-values) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/find_missing_and_repeated_values/solution.py) |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.