feat: populate note files with problem descriptions and code stubs
Add populate-notes.mjs that fetches problem descriptions and Python/C++ code stubs from LeetCode's GraphQL API. Populated all 197 NeetCode 150 note files with: - Problem description (examples, constraints) - Python code stub (function signature) - C++ code stub (function signature + includes) API responses cached in leetcode/.cache/leetcode/ for instant re-runs.
This commit is contained in:
@@ -1,18 +1,77 @@
|
||||
#+PROPERTY: STUDY_DECK_02
|
||||
* TODO 0417. Pacific Atlantic Water Flow :medium:
|
||||
:PROPERTIES:
|
||||
:NEETCODE: [[file:../../roadmap.org::*0417. Pacific Atlantic Water Flow][Roadmap]]
|
||||
:NEETCODE: [[file:../../roadmap.org::*0417. Pacific Atlantic Water Flow][0417. Pacific Atlantic Water Flow]]
|
||||
:END:
|
||||
|
||||
There is an ~m x n~ rectangular island that borders both the *Pacific Ocean* and *Atlantic Ocean*. The *Pacific Ocean* touches the island's left and top edges, and the *Atlantic Ocean* touches the island's right and bottom edges.
|
||||
|
||||
The island is partitioned into a grid of square cells. You are given an ~m x n~ integer matrix ~heights~ where ~heights[r][c]~ represents the *height above sea level* of the cell at coordinate ~(r, c)~.
|
||||
|
||||
The island receives a lot of rain, and the rain water can flow to neighboring cells directly north, south, east, and west if the neighboring cell's height is *less than or equal to* the current cell's height. Water can flow from any cell adjacent to an ocean into the ocean.
|
||||
|
||||
Return /a *2D list* of grid coordinates /~result~/ where /~result[i] = [r_{i}, c_{i}]~/ denotes that rain water can flow from cell /~(r_{i}, c_{i})~/ to *both* the Pacific and Atlantic oceans/.
|
||||
|
||||
*Example 1:*
|
||||
|
||||
|
||||
#+begin_src
|
||||
Input: heights = [[1,2,2,3,5],[3,2,3,4,4],[2,4,5,3,1],[6,7,1,4,5],[5,1,1,2,4]]
|
||||
Output: [[0,4],[1,3],[1,4],[2,2],[3,0],[3,1],[4,0]]
|
||||
Explanation: The following cells can flow to the Pacific and Atlantic oceans, as shown below:
|
||||
[0,4]: [0,4] -> Pacific Ocean
|
||||
[0,4] -> Atlantic Ocean
|
||||
[1,3]: [1,3] -> [0,3] -> Pacific Ocean
|
||||
[1,3] -> [1,4] -> Atlantic Ocean
|
||||
[1,4]: [1,4] -> [1,3] -> [0,3] -> Pacific Ocean
|
||||
[1,4] -> Atlantic Ocean
|
||||
[2,2]: [2,2] -> [1,2] -> [0,2] -> Pacific Ocean
|
||||
[2,2] -> [2,3] -> [2,4] -> Atlantic Ocean
|
||||
[3,0]: [3,0] -> Pacific Ocean
|
||||
[3,0] -> [4,0] -> Atlantic Ocean
|
||||
[3,1]: [3,1] -> [3,0] -> Pacific Ocean
|
||||
[3,1] -> [4,1] -> Atlantic Ocean
|
||||
[4,0]: [4,0] -> Pacific Ocean
|
||||
[4,0] -> Atlantic Ocean
|
||||
Note that there are other possible paths for these cells to flow to the Pacific and Atlantic oceans.
|
||||
#+end_src
|
||||
|
||||
|
||||
*Example 2:*
|
||||
|
||||
|
||||
#+begin_src
|
||||
Input: heights = [[1]]
|
||||
Output: [[0,0]]
|
||||
Explanation: The water can flow from the only cell to the Pacific and Atlantic oceans.
|
||||
#+end_src
|
||||
|
||||
|
||||
*Constraints:*
|
||||
|
||||
- ~m == heights.length~
|
||||
|
||||
- ~n == heights[r].length~
|
||||
|
||||
- ~1 <= m, n <= 200~
|
||||
|
||||
- ~0 <= heights[r][c] <= 10^{5}~
|
||||
|
||||
** TODO Approach
|
||||
Write your approach here.
|
||||
|
||||
** TODO Python
|
||||
#+begin_src python
|
||||
|
||||
class Solution:
|
||||
def pacificAtlantic(self, heights: List[List[int]]) -> List[List[int]]:
|
||||
#+end_src
|
||||
|
||||
** TODO C++
|
||||
#+begin_src cpp
|
||||
|
||||
class Solution {
|
||||
public:
|
||||
vector<vector<int>> pacificAtlantic(vector<vector<int>>& heights) {
|
||||
|
||||
}
|
||||
};
|
||||
#+end_src
|
||||
|
||||
Reference in New Issue
Block a user