mirror of
https://github.com/prdlk/leetcode.git
synced 2026-08-02 17:31:40 +00:00
docs(readme): clarify problem solving approach for frequency related problems
This commit is contained in:
@@ -16,61 +16,3 @@ Relevant problems for myself
|
||||
- ♿ 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