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,106 @@
|
||||
#+PROPERTY: STUDY_DECK_02
|
||||
* TODO 0682. Baseball Game :easy:
|
||||
:PROPERTIES:
|
||||
:NEETCODE: [[file:../../roadmap.org::*0682. Baseball Game][Roadmap]]
|
||||
:NEETCODE: [[file:../../roadmap.org::*0682. Baseball Game][0682. Baseball Game]]
|
||||
:END:
|
||||
|
||||
You are keeping the scores for a baseball game with strange rules. At the beginning of the game, you start with an empty record.
|
||||
|
||||
You are given a list of strings ~operations~, where ~operations[i]~ is the ~i^{th}~ operation you must apply to the record and is one of the following:
|
||||
|
||||
- An integer ~x~.
|
||||
|
||||
- Record a new score of ~x~.
|
||||
|
||||
- ~'+'~.
|
||||
|
||||
- Record a new score that is the sum of the previous two scores.
|
||||
|
||||
- ~'D'~.
|
||||
|
||||
- Record a new score that is the double of the previous score.
|
||||
|
||||
- ~'C'~.
|
||||
|
||||
- Invalidate the previous score, removing it from the record.
|
||||
|
||||
Return /the sum of all the scores on the record after applying all the operations/.
|
||||
|
||||
The test cases are generated such that the answer and all intermediate calculations fit in a *32-bit* integer and that all operations are valid.
|
||||
|
||||
*Example 1:*
|
||||
|
||||
|
||||
#+begin_src
|
||||
Input: ops = ["5","2","C","D","+"]
|
||||
Output: 30
|
||||
Explanation:
|
||||
"5" - Add 5 to the record, record is now [5].
|
||||
"2" - Add 2 to the record, record is now [5, 2].
|
||||
"C" - Invalidate and remove the previous score, record is now [5].
|
||||
"D" - Add 2 * 5 = 10 to the record, record is now [5, 10].
|
||||
"+" - Add 5 + 10 = 15 to the record, record is now [5, 10, 15].
|
||||
The total sum is 5 + 10 + 15 = 30.
|
||||
#+end_src
|
||||
|
||||
|
||||
*Example 2:*
|
||||
|
||||
|
||||
#+begin_src
|
||||
Input: ops = ["5","-2","4","C","D","9","+","+"]
|
||||
Output: 27
|
||||
Explanation:
|
||||
"5" - Add 5 to the record, record is now [5].
|
||||
"-2" - Add -2 to the record, record is now [5, -2].
|
||||
"4" - Add 4 to the record, record is now [5, -2, 4].
|
||||
"C" - Invalidate and remove the previous score, record is now [5, -2].
|
||||
"D" - Add 2 * -2 = -4 to the record, record is now [5, -2, -4].
|
||||
"9" - Add 9 to the record, record is now [5, -2, -4, 9].
|
||||
"+" - Add -4 + 9 = 5 to the record, record is now [5, -2, -4, 9, 5].
|
||||
"+" - Add 9 + 5 = 14 to the record, record is now [5, -2, -4, 9, 5, 14].
|
||||
The total sum is 5 + -2 + -4 + 9 + 5 + 14 = 27.
|
||||
#+end_src
|
||||
|
||||
|
||||
*Example 3:*
|
||||
|
||||
|
||||
#+begin_src
|
||||
Input: ops = ["1","C"]
|
||||
Output: 0
|
||||
Explanation:
|
||||
"1" - Add 1 to the record, record is now [1].
|
||||
"C" - Invalidate and remove the previous score, record is now [].
|
||||
Since the record is empty, the total sum is 0.
|
||||
#+end_src
|
||||
|
||||
|
||||
*Constraints:*
|
||||
|
||||
- ~1 <= operations.length <= 1000~
|
||||
|
||||
- ~operations[i]~ is ~"C"~, ~"D"~, ~"+"~, or a string representing an integer in the range ~[-3 * 10^{4}, 3 * 10^{4}]~.
|
||||
|
||||
- For operation ~"+"~, there will always be at least two previous scores on the record.
|
||||
|
||||
- For operations ~"C"~ and ~"D"~, there will always be at least one previous score on the record.
|
||||
|
||||
** TODO Approach
|
||||
Write your approach here.
|
||||
|
||||
** TODO Python
|
||||
#+begin_src python
|
||||
|
||||
class Solution:
|
||||
def calPoints(self, operations: List[str]) -> int:
|
||||
#+end_src
|
||||
|
||||
** TODO C++
|
||||
#+begin_src cpp
|
||||
|
||||
class Solution {
|
||||
public:
|
||||
int calPoints(vector<string>& operations) {
|
||||
|
||||
}
|
||||
};
|
||||
#+end_src
|
||||
|
||||
Reference in New Issue
Block a user