The definitive interview preparation companion for Striver's A2Z DSA Sheet.
Complete C++ optimal solutions catalog, 390-page offline PDF study guide, and interactive practice tracker.
- 🌐 Live Web Application & Solved Tracker: https://avinash893.github.io/dsa-scraper/
- 📥 Download Offline PDF Guide (390 Pages): striver_better_optimal_solutions.pdf
- 🐙 GitHub Repository: https://github.com/avinash893/dsa-scraper
The study guide (striver_better_optimal_solutions.pdf) is specifically formatted for high-efficiency interview revision and competitive programming prep:
- 📐 1-Question-1-Page Format: Every question and its full solution are self-contained on exactly one page (389 problems across 390 pages with zero text overflows).
- 🎯 Better & Optimal Approaches Only: Skips repetitive brute-force methods to focus exclusively on production-grade interview solutions.
- 🎨 LeetCode Dark Editor Theme: Full C++ syntax highlighting (VS Code / LeetCode Dark Plus palette) with unescaped symbols (
#include <bits/stdc++.h>,cout << "..."). - ⚖️ Side-by-Side Tradeoffs: Questions featuring both Better and Optimal solutions present them side-by-side in a 2-column layout for comparison.
- 📝 Complete Context: Each page includes the question title, difficulty badge, direct practice links (LeetCode / Article), problem statement with sample inputs/outputs, and time & space complexity.
You can also run or practice directly in your browser:
- 🎲 Practice Random Question: Hit the randomizer to pick an unsolved question from Striver's sheet, prioritizing weak spots.
- ✅ Persistent Solved Checkmarks: Track your daily progress with checkmarks saved in browser
localStorage. - 🔍 Instant Search & Filter: Filter all 474 problems by difficulty (
Easy,Medium,Hard) or topic keyword. - 📦 One-Click Export: Download a
.ziparchive containing the solutions structured into categorized folders or download the single-file PDF.
The study guide and crawler cover all major topics starting from fundamental sorting techniques through advanced data structures and dynamic programming:
| # | Topic Name | Problems | Key Algorithms & Patterns |
|---|---|---|---|
| 01 | Sorting Techniques | 7 | Selection, Bubble, Insertion, Merge, Quick Sort, Recursive Sorts |
| 02 | Arrays (Easy, Medium, Hard) | 40 | Kadane's, Two Sum, Dutch National Flag, Boyer-Moore, 3-Sum, 4-Sum, Inversion Count |
| 03 | Binary Search | 32 | Lower/Upper Bound, Search in Rotated Array, Search Space Reduction, Median of 2 Arrays |
| 04 | Strings | 24 | Anagrams, Isomorphic, Longest Palindrome, KMP, Z-Function |
| 05 | Linked Lists | 31 | Singly & Doubly LL, Floyd's Cycle Detection, Reverse in K-Groups, Flattening |
| 06 | Recursion & Backtracking | 25 | Subsets, Permutations, Combination Sum, N-Queens, Sudoku Solver, Palindrome Partitioning |
| 07 | Bit Manipulation | 18 | XOR Operations, Power Sets, Single Number, Counting Bits |
| 08 | Stacks & Queues | 30 | Monotonic Stack, Next Greater/Smaller, Trapping Rainwater, LRU & LFU Cache |
| 09 | Sliding Window & 2-Pointers | 12 | Longest Substring Without Repeating, Fruit Baskets, Subarrays with K Distinct |
| 10 | Heaps & Priority Queues | 17 | Min/Max Heap, Kth Largest, Merge K Sorted Lists, Median from Data Stream |
| 11 | Greedy Algorithms | 15 | Activity Selection, N Meetings in One Room, Job Scheduling, Jump Game, Candy |
| 12 | Binary Trees | 38 | Traversals (Pre/In/Post/Level), Height, Diameter, LCA, Boundary & Vertical Traversal |
| 13 | Binary Search Trees (BST) | 16 | Floor/Ceil, Validate BST, LCA in BST, BST Iterator, Construct from Preorder |
| 14 | Graphs | 53 | BFS, DFS, Dijkstra, Bellman-Ford, Floyd-Warshall, Prim's, Kruskal's, Disjoint Set Union (DSU) |
| 15 | Dynamic Programming | 55 | 1D, 2D Grid, Subsets, Longest Common Subsequence (LCS), LIS, Matrix Chain Multiplication |
| 16 | Tries | 7 | Prefix Tree Implementation, Auto-complete, Maximum XOR of Two Numbers |
To run the local scraper bot and Express dashboard:
# 1. Clone repository
git clone https://github.com/avinash893/dsa-scraper.git
cd dsa-scraper
# 2. Install dependencies
npm install
# 3. Start local development server
npm startVisit http://localhost:3005 in your browser.
To regenerate the study guide PDF locally:
python generate_striver_study_guide.pyIf you find this repository and study guide helpful for your technical interview preparation:
- Give it a ⭐ Star on GitHub to help others find it!
- Share it with fellow developers and study groups.
- Contributions, corrections, and improvements are always welcome via Pull Requests.
This project is open-source under the MIT License. Problem descriptions and reference materials belong to takeuforward.org.