Gamifying LeetCode

Intro (This Is All Satire)
As an ex-english major, I decided that math wasn't enough to defeat my enemies. I needed to consult the classics. In the Art of War, Sun Tzu says:
If you know the enemy and know yourself, you need not fear the result of a hundred battles.
So, I decided its time to do some investigative journalism.
Top LeetCode Patterns Sorted By Occurrence
| Pattern | Percentage In Online Assessments | # Of Problems Solved | # Of Comfortability | Number Of Problems In Leetcode | Percentage Of All Problems In Leetcode |
|---|---|---|---|---|---|
| Basic DSA (Linked List, Array, Hash Map, Stack, Queue, Sorting) | 16.9 | ? | ? | ? | ? |
| Misc | 12.1 | ? | ? | ? | ? |
| Two Pointers | 12.0 | ? | ? | ? | ? |
| Dynamic Programming | 10.8 | ? | ? | ? | ? |
| DFS | 10.0 | ? | ? | ? | ? |
| BFS | 8.8 | ? | ? | ? | ? |
| Backtracking | 7.1 | ? | ? | ? | ? |
| Adv Data Structure | 7.1 | ? | ? | ? | ? |
| Binary Search | 5.8 | ? | ? | ? | ? |
| Heap | 4.8 | ? | ? | ? | ? |
| Graph | 2.5 | ? | ? | ? | ? |
| Simulation | 2.2 | ? | ? | ? | ? |
Optimal Studying ROI Based On Occurrence And Difficulty
| Topic | Difficulty To Learn | Return On Investment | # Of Problems Solved | # Of Comfortability | Flagged Question Num |
|---|---|---|---|---|---|
| Two Pointer - Simple | Easy | High | 16 | ? | ? |
| Two Pointer - Sliding Window | Easy | High | 18 | ? | ? |
| Two Pointer - Linked List | Easy | High | 11 | ? | ? |
| Basic DSA - Array/HashMap | Easy | High | 8 | ? | ? |
| Basic DSA - Stack | Easy | High | 7 | ? | ? |
| Basic DSA - Heap/Priority Queue | Easy | High | 7 | ? | ? |
| BFS - Tree | Easy | High | 8 | ? | ? |
| DFS - Tree | Easy | High | 8 | ? | ? |
| BST - Tree | Easy | High | 8 | ? | ? |
| BFS - Graph | Medium | High | 8 | ? | ? |
| DFS - Graph | Medium | High | 8 | ? | ? |
| Backtracking | Easy | High | 9 | ? | ? |
| Two Pointer - Binary Search | Easy | Medium | 8 | ? | ? |
| Dynamic Programming | High | Medium | 13 | ? | ? |
| Divide and Conquer | Medium | Low | 0 | ? | ? |
| Trie - Graph | Medium | Low | 3 | ? | ? |
| Union Find - Graph | Medium | Low | ? | ? | |
| Greedy | High | Low | 8 | ? | ? |
Planning Out What To Study
Great! Now with this information, we have a general estimation of the probability of getting certain question during an online coding assessment.
Despair
But yet, I know in my heart this isn't enough. This isn't even close. But what more could I do? Optimize my question practice schedule with a recurrence matching the probability? (I actually did this for about 4 months, it made a tiny dent in the 3600 total leetcode questions). Sure that would have worked eventually, but c'mon. Is mindlessly going through questions for hundreds of hours really what leetcode is all about?
I mean yeah, pretty much, but I wasn't about to do that. When I said 4 months I was not kidding. And yet, as time went on, it began to see like that was truly the only way.
Hope
The opportunity of defeating the enemy is provided by the enemy them self - Sun Tzu
I've done it. I've discovered a critical flaw with assessments strategies. The companies, they REUSE QUESTIONS!
will continue writing on lunch.
Questions By Company List:
todo
Spaced Repitition
Now the other problem is the amount of leetcode questions. Even though all of them can be organized into 20-30 patterns (and their sub patterns), ideally a candidate would be able to do at least the NeetCode 250 blindfolded.
So its time to whip out the o'l spaced repitition flash card trick.
todo: add to leetcode section spaced repetition algo/ui for all question cards we have