Skip to content

Latest commit

 

History

53 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Phase Problems Focus Status Language


The final frontier. Phase 3 is where good problem-solvers become great ones — tackling Hard-level DSA problems that appear in FAANG interviews, competitive programming, and real-world system design.



📋 Table of Contents


🎯 Phase 3 Objective

Phase 3 is the most demanding leg of the 100 Days challenge. The focus shifts from understanding patterns to mastering them under pressure — optimizing for time, space, and elegance.

Goal Description
🔥 Elite Problem Solving Tackle problems that stump most candidates
⚙️ Advanced Optimization Push beyond O(n log n) — think O(n), O(1) space
🧩 Complex Pattern Chains Combine multiple DSA patterns in one solution
🏆 FAANG Readiness Solve problems directly from top company interview banks
🧠 Competitive Programming Build instincts for timed, high-pressure environments

🧠 Topics Covered

Phase 3 — Hard DSA Topics
│
├── 🔗 Advanced Dynamic Programming (DP on Trees, Intervals, Bitmask)
├── 🌐 Graphs (Dijkstra, Bellman-Ford, Topological Sort, SCC)
├── 🌲 Advanced Trees (Segment Trees, Fenwick/BIT, AVL)
├── 🔢 Math & Number Theory (GCD, Modular Arithmetic, Combinatorics)
├── 🪟 Sliding Window & Monotonic Stack/Queue
├── 🔁 Backtracking with Pruning
├── 🔍 Binary Search on Answer
└── 🧵 String Algorithms (KMP, Z-Algorithm, Trie)

📈 Progress Tracker

Metric Value
✅ Problems Solved 0 / 100
📅 Current Streak Active
🏆 Difficulty Hard
📢 Updates LinkedIn
⏱️ Avg. Time Per Problem

At this level, understanding the "why" behind each solution matters more than the solution itself. Every problem is documented with full reasoning.


📝 Problem Log

# Problem Topic Key Technique Solution
01 (Upcoming)
02 (Upcoming)
03 (Upcoming)
... ... ... ... ...
100 (Upcoming)

This table is updated daily. Each entry links to a solution file with full explanation.


💡 Key Learnings

  • Hard problems rarely require exotic algorithms — they require perfect application of fundamentals
  • When stuck, reduce the problem: solve for n=1, n=2, find the pattern
  • Space-time tradeoffs become critical — memoization vs tabulation, recursion vs iteration
  • Drawing the problem visually almost always reveals the approach
  • The first accepted solution is never the final solution — always revisit for optimization

🗂 How to Use This Repo

# Clone the repo
git clone https://github.com/loisekk/100-days-leetcode-phase3.git
cd 100-days-leetcode-phase3

# Navigate to solutions
cd solutions/

# Run any solution
python problem_name.py

Each solution file follows this structure:

Problem Title
─────────────
🔗 LeetCode Link
📌 Approach: <brief explanation>
⏱️ Time Complexity: O(?)
💾 Space Complexity: O(?)
─────────────
[Clean Python Implementation]

🗺 Full Challenge Journey

Phase Difficulty Problems Status
Phase 1 🟢 Easy 1–100 ✅ Completed
Phase 2 🟡 Medium 1–30 🔄 In Progress
Phase 3 🔴 Hard 1–100 🔄 In Progress

👨‍💻 Author

Yash Brahmankar

"Hard problems don't get easier. You get stronger."


GitHub Email LinkedIn


Made with 🔥 and relentless consistency by Yash Brahmankar

About

Phase 3 of my 100 Days of LeetCode — conquering Hard DSA problems for FAANG readiness, one solution at a time.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages