|
1 | 1 | # leetcode-problem-picker
|
2 | 2 |
|
3 | 3 | ## Original motivation:
|
4 |
| -A quick answer to the question “Which leetcode problem should I do next?” |
5 |
| -Randomly choosing from 1750 questions wasn’t cutting it for me. |
| 4 | +A quick answer to the question “Which leetcode problem should I do next?” Because randomly choosing from 1750 questions wasn’t cutting it for me. |
6 | 5 |
|
7 | 6 | ## Possible modes:
|
8 |
| -While I was practicing, I found that I had different needs: |
9 |
| -1. Topic focus: e.g. “only graph or DP problems”. |
10 |
| -2. (company) list: e.g. which problems were more frequently asked by companies that I’m interested in? |
11 |
| -3. Level up: (incomplete/WIP) |
12 |
| -User maintains a list of completed/failed problems (and time spent solving) and program determines an approximate “skill range” for each topic (e.g. Hard 24-28% for Trees, Medium 34-45% for dynamic programming) by factoring in each problem’s “acceptance rate”. Then it gives a problem within that range, balancing being challenged with not being discouraged. Idea comes from RPGs. |
13 |
| -4. Improved random (TODO) |
14 |
| -Still random, but adds weight to problems with higher like count (and higher like-dislike ratio) and possibly to problems with lower number. |
| 7 | +Needs that I have discovered so far: |
| 8 | +1. Topic Focus: “only graph or DP problems”. |
| 9 | +2. Filtered Lists: Which problems were frequently asked by companies I’m interested in? Also lists like Blind 75 |
| 10 | +3. Level Up (WIP): Determines user's "skill range" for each topic in order to challenge (and not discourage). |
| 11 | +4. Weighted random (TODO): Weighted towards high like count, high like-dislike ratio, etc. |
| 12 | + |
| 13 | +# Uhhhhh nice README but where's the code? |
| 14 | +I personally use this program every time I do leetcode. I wish to share and help others, but what I have is a product of months of ideas. It is neither presentable nor ready for public consumption (i.e. in the way described in this README) |
| 15 | + |
| 16 | +If you are interested in this idea, please star this repo and revisit in a week or so. If this project gathers enough interest, I will have no choice but to dedicate more evenings to this project. |
15 | 17 |
|
16 | 18 | ## Setup:
|
17 | 19 | ```git clone https://.com/evliang/leetcode-problem-picker.git```
|
@@ -70,4 +72,9 @@ Then, from Developer Tools, run
|
70 | 72 |
|
71 | 73 | ```console.log(Array.from(document.querySelectorAll('.reactable-data tr td[label="#"]')).map(x => x.textContent).toString())```
|
72 | 74 |
|
73 |
| -And copy the list into text file |
| 75 | +And copy the list into text file |
| 76 | + |
| 77 | +## TODO |
| 78 | + |
| 79 | +1. Refactor what I have. Stay tuned. |
| 80 | +2. Level Up: User maintains a list of attempted problems. Program combines this with each problem’s “acceptance rate” to approximate a “skill range” for each topic (e.g. Hard 24-28% for Trees, Medium 31-45% for graphs). |
0 commit comments