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:
2026-06-01 17:22:07 +08:00
parent e798e449bd
commit 1dec88aaf2
198 changed files with 10459 additions and 534 deletions
@@ -1,18 +1,66 @@
#+PROPERTY: STUDY_DECK_02
* TODO 0200. Number of Islands :medium:
:PROPERTIES:
:NEETCODE: [[file:../../roadmap.org::*0200. Number of Islands][Roadmap]]
:NEETCODE: [[file:../../roadmap.org::*0200. Number of Islands][0200. Number of Islands]]
:END:
Given an ~m x n~ 2D binary grid ~grid~ which represents a map of ~'1'~s (land) and ~'0'~s (water), return /the number of islands/.
An *island* is surrounded by water and is formed by connecting adjacent lands horizontally or vertically. You may assume all four edges of the grid are all surrounded by water.
*Example 1:*
#+begin_src
Input: grid = [
["1","1","1","1","0"],
["1","1","0","1","0"],
["1","1","0","0","0"],
["0","0","0","0","0"]
]
Output: 1
#+end_src
*Example 2:*
#+begin_src
Input: grid = [
["1","1","0","0","0"],
["1","1","0","0","0"],
["0","0","1","0","0"],
["0","0","0","1","1"]
]
Output: 3
#+end_src
*Constraints:*
- ~m == grid.length~
- ~n == grid[i].length~
- ~1 <= m, n <= 300~
- ~grid[i][j]~ is ~'0'~ or ~'1'~.
** TODO Approach
Write your approach here.
** TODO Python
#+begin_src python
class Solution:
def numIslands(self, grid: List[List[str]]) -> int:
#+end_src
** TODO C++
#+begin_src cpp
class Solution {
public:
int numIslands(vector<vector<char>>& grid) {
}
};
#+end_src