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,82 @@
|
||||
#+PROPERTY: STUDY_DECK_02
|
||||
* TODO 0726. Number of Atoms :hard:
|
||||
:PROPERTIES:
|
||||
:NEETCODE: [[file:../../roadmap.org::*0726. Number of Atoms][Roadmap]]
|
||||
:NEETCODE: [[file:../../roadmap.org::*0726. Number of Atoms][0726. Number of Atoms]]
|
||||
:END:
|
||||
|
||||
Given a string ~formula~ representing a chemical formula, return /the count of each atom/.
|
||||
|
||||
The atomic element always starts with an uppercase character, then zero or more lowercase letters, representing the name.
|
||||
|
||||
One or more digits representing that element's count may follow if the count is greater than ~1~. If the count is ~1~, no digits will follow.
|
||||
|
||||
- For example, ~"H2O"~ and ~"H2O2"~ are possible, but ~"H1O2"~ is impossible.
|
||||
|
||||
Two formulas are concatenated together to produce another formula.
|
||||
|
||||
- For example, ~"H2O2He3Mg4"~ is also a formula.
|
||||
|
||||
A formula placed in parentheses, and a count (optionally added) is also a formula.
|
||||
|
||||
- For example, ~"(H2O2)"~ and ~"(H2O2)3"~ are formulas.
|
||||
|
||||
Return the count of all elements as a string in the following form: the first name (in sorted order), followed by its count (if that count is more than ~1~), followed by the second name (in sorted order), followed by its count (if that count is more than ~1~), and so on.
|
||||
|
||||
The test cases are generated so that all the values in the output fit in a *32-bit* integer.
|
||||
|
||||
*Example 1:*
|
||||
|
||||
|
||||
#+begin_src
|
||||
Input: formula = "H2O"
|
||||
Output: "H2O"
|
||||
Explanation: The count of elements are {'H': 2, 'O': 1}.
|
||||
#+end_src
|
||||
|
||||
|
||||
*Example 2:*
|
||||
|
||||
|
||||
#+begin_src
|
||||
Input: formula = "Mg(OH)2"
|
||||
Output: "H2MgO2"
|
||||
Explanation: The count of elements are {'H': 2, 'Mg': 1, 'O': 2}.
|
||||
#+end_src
|
||||
|
||||
|
||||
*Example 3:*
|
||||
|
||||
|
||||
#+begin_src
|
||||
Input: formula = "K4(ON(SO3)2)2"
|
||||
Output: "K4N2O14S4"
|
||||
Explanation: The count of elements are {'K': 4, 'N': 2, 'O': 14, 'S': 4}.
|
||||
#+end_src
|
||||
|
||||
|
||||
*Constraints:*
|
||||
|
||||
- ~1 <= formula.length <= 1000~
|
||||
|
||||
- ~formula~ consists of English letters, digits, ~'('~, and ~')'~.
|
||||
|
||||
- ~formula~ is always valid.
|
||||
|
||||
** TODO Approach
|
||||
Write your approach here.
|
||||
|
||||
** TODO Python
|
||||
#+begin_src python
|
||||
|
||||
class Solution:
|
||||
def countOfAtoms(self, formula: str) -> str:
|
||||
#+end_src
|
||||
|
||||
** TODO C++
|
||||
#+begin_src cpp
|
||||
|
||||
class Solution {
|
||||
public:
|
||||
string countOfAtoms(string formula) {
|
||||
|
||||
}
|
||||
};
|
||||
#+end_src
|
||||
|
||||
Reference in New Issue
Block a user