mirror of
https://github.com/prdlk/leetcode.git
synced 2026-08-02 17:31:40 +00:00
docs(readme): add decision cheat sheet and mental checklist for problem solving
This commit is contained in:
@@ -14,3 +14,63 @@ Relevant problems for myself
|
|||||||
- 🎨 Guides
|
- 🎨 Guides
|
||||||
- ⚡ Solutions
|
- ⚡ Solutions
|
||||||
- ♿ Patterns
|
- ♿ Patterns
|
||||||
|
|
||||||
|
|
||||||
|
## The Golden Rule (Memorize This)
|
||||||
|
|
||||||
|
**Only sort if the problem asks for ORDER or RANKING.**
|
||||||
|
|
||||||
|
If the problem asks for:
|
||||||
|
- "first"
|
||||||
|
- "index"
|
||||||
|
- "position"
|
||||||
|
- "does it exist"
|
||||||
|
- "true/false"
|
||||||
|
- "count how many"
|
||||||
|
|
||||||
|
→ **DO NOT SORT**. Just use the frequency map and loop.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Decision Cheat Sheet
|
||||||
|
|
||||||
|
| What the problem wants | Do you need to sort? | What to do instead | Example Problem |
|
||||||
|
|-----------------------------------------|----------------------|-------------------------------------|---------------------|
|
||||||
|
| Sort characters by how often they appear | YES | Freq + Sort | LC 451 |
|
||||||
|
| Top K most frequent | YES | Freq + Sort + slice | LC 347 |
|
||||||
|
| Sort array by frequency | YES | Freq + Sort | LC 1636 |
|
||||||
|
| First unique character (index) | NO | Freq + loop original string | LC 387 |
|
||||||
|
| Is it an anagram? | NO | Freq + check counts | LC 242 |
|
||||||
|
| How many numbers smaller than current | Kind of | Freq + prefix count | LC 1365 |
|
||||||
|
| Most frequent element | NO | Freq + find max | LC 169 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Mental Checklist (Say this out loud every time)
|
||||||
|
|
||||||
|
1. "Did I count the frequencies?" → Yes
|
||||||
|
2. "Does the problem care about the **original order**?"
|
||||||
|
- Yes → Loop the original string/array and check freq
|
||||||
|
- No → You can sort
|
||||||
|
3. "Does it want an **index** or a **boolean**?"
|
||||||
|
- Yes → Almost never sort
|
||||||
|
4. "Does it want the elements **re-ordered**?"
|
||||||
|
- Yes → Sort by frequency
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Super Short Version to Tattoo in Your Brain
|
||||||
|
|
||||||
|
**"If it wants the first / index / true-false → loop original.
|
||||||
|
If it wants sorted / top k / reordered → sort."**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Practice Trigger Words
|
||||||
|
|
||||||
|
- "first non-repeating" → Loop original
|
||||||
|
- "return its index" → Loop original
|
||||||
|
- "sort by frequency" → Sort
|
||||||
|
- "top k frequent" → Sort + slice
|
||||||
|
- "valid anagram" → Just check counts
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user