কনটেন্টে যান

🎯 Google-Ready 100 — শূন্য থেকে interview + job-ready পথ

এই repo-র 446 problem থেকে বেছে নেওয়া ঠিক ১০০টা — যাতে একদম শূন্য থেকে শুরু করা একজন learner ধাপে ধাপে এমন জায়গায় পৌঁছায় যেখান থেকে Google/FAANG interview দেওয়া যায়, আর একই সাথে real job-এ কাজ করার মতো pattern হাতে আসে।

নীতি: প্রতিটা গুরুত্বপূর্ণ pattern একবার করে, তার সবচেয়ে canonical problem দিয়ে। duplicate নেই, fluff নেই — শুধু যেগুলো বারবার interview-তে আর production-এ ফিরে আসে।

কীভাবে ব্যবহার করবে

  • ক্রম ধরে এগোও (Stage 1 → 14)। প্রতিটা stage আগেরটার উপর দাঁড়ায়।
  • প্রতিটা problem-এর full Bangla note + Python + JavaScript + TypeScript solution + test cases + real-world use ওই problem-এর .md file-এ (link দেওয়া আছে)।
  • প্রতিদিন 2–4টা; একটা problem মানে শুধু solve নয় — pattern-টা মুখে বলে বোঝা।
  • কোনোটায় আটকালে brute force → optimize ধাপটা note-এ আছে, ওটা পড়ো।

Difficulty: 🟢 Easy · 🟡 Medium · 🔴 Hard Status: ✅ = নোটে JS/TS, test ও use-case অংশ আছে। এটি আপনার solve status বা সব solution যাচাইয়ের সনদ নয়। নিজের অগ্রগতি আলাদা রাখুন।

Problem নামের link থেকে বাংলা নোট খুলুন; নোটের source অংশে official judge link পাবেন। নিজস্ব exercise হলে সেটি সেখানে লেখা আছে।


Stage 1 — Math ও Number Foundations (8)

%, digit loop, prime, gcd/lcm, modular power — সব pattern-এর শিকড়।

# Problem Diff Pattern / Skill কেন জরুরি Status
1 Even or Odd 🟢 parity, %, bit প্রথম pattern; sharding/parity bit ✅
2 Sum of Digits 🟢 digit extraction loop checksum/Luhn-এর ভিত্তি ✅
3 Count Digits 🟢 digit loop, log10 validation/padding ✅
4 Check Prime 🟢 trial division √n crypto/number theory গেট ✅
5 Sieve of Eratosthenes 🟡 sieve precompute bulk prime, precomputation mindset ✅
6 GCD (Euclidean) 🟢 Euclid recursion fractions, scheduling ✅
7 LCM using GCD 🟢 gcd→lcm relation cycles, overflow-safe math ✅
8 Modular Exponentiation 🟡 fast power O(log n) crypto, hashing, big powers ✅

Stage 2 — Bit Manipulation ও Prefix Sums (5)

দুই সুপারপাওয়ার: bit দিয়ে O(1) trick, prefix দিয়ে O(1) range query।

# Problem Diff Pattern / Skill কেন জরুরি Status
9 Count Set Bits 🟢 Brian Kernighan flags, popcount ✅
10 Power of Two 🟢 n & (n-1) capacity, hashmap sizing ✅
11 Single Number (XOR) 🟢 XOR cancel dedupe, checksum ✅
12 Prefix Sum 🟢 prefix array O(1) range sum, analytics ✅
13 Subarray Sum Equals K 🟡 prefix + hashmap count ranges; super common ✅

Stage 3 — Binary Search (incl. on answer) (5)

sorted-এ খোঁজা থেকে "উত্তরের উপর binary search" — একটি monotonic শর্তের সীমা খোঁজার কৌশল।

# Problem Diff Pattern / Skill কেন জরুরি Status
14 Basic Binary Search 🟢 classic BS সব search-এর ভিত্তি ✅
15 Lower / Upper Bound 🟡 boundary BS DB index, std::lower_bound ✅
16 Square Root (BS) 🟢 BS on value precision search ✅
17 Koko Eating Bananas 🟡 BS on answer rate-limit/capacity tuning ✅
18 Allocate Minimum Pages 🔴 BS on answer + feasibility load balancing, sharding ✅

Stage 4 — Arrays ও Strings core (11)

interview-এর সবচেয়ে বড় ভাগ; এখানেই two-pointer, Kadane, prefix-product।

# Problem Diff Pattern / Skill কেন জরুরি Status
19 Reverse String 🟢 two pointers in-place basics ✅
20 Two Sum 🟢 hashmap complement #1 interview problem ✅
21 Valid Anagram 🟢 frequency count string fingerprint ✅
22 Move Zeroes 🟢 slow/fast pointer in-place partition ✅
23 Best Time Buy/Sell Stock 🟢 running min streaming min/max ✅
24 Maximum Subarray (Kadane) 🟡 Kadane DP signal/profit windows ✅
25 Container With Most Water 🟡 two pointers greedy discard ✅
26 Rotate Array 🟡 reversal trick buffer/ring shift ✅
27 Product Except Self 🟡 prefix/suffix product running aggregates ✅
28 3Sum 🟡 sort + two pointers dedupe triples ✅
29 Longest Consecutive Sequence 🟡 hash set O(n) without sort ✅

Stage 5 — Hashing (5)

"আগে দেখেছি কিনা" — O(1) lookup-এর জাদু।

# Problem Diff Pattern / Skill কেন জরুরি Status
30 Contains Duplicate 🟢 hash set dedupe everywhere ✅
31 First Unique Character 🟢 frequency map stream first-unique ✅
32 Missing Number 🟢 XOR/sum trick integrity check ✅
33 Group Anagrams 🟡 canonical key bucket grouping/indexing ✅
34 Top K Frequent Elements 🟡 count + heap/bucket trending/analytics ✅

Stage 6 — Two Pointers ও Sliding Window (6)

contiguous window — substring, rate, throughput সব এখানে।

# Problem Diff Pattern / Skill কেন জরুরি Status
35 Longest Substring w/o Repeat 🟡 sliding window + set dedupe window ✅
36 Minimum Size Subarray Sum 🟡 shrinkable window min window meeting target ✅
37 At Most K Distinct 🟡 window + counts "at most/exactly K" trick ✅
38 Minimum Window Substring 🔴 window + need-map hard window mastery ✅
39 Trapping Rain Water 🔴 two pointers / prefix max classic hard ✅
40 Sliding Window Maximum 🔴 monotonic deque streaming max ✅

Stage 7 — Stack ও Queue (7)

nesting, monotonic stack, "next greater" — parser ও scheduler-এর হাতিয়ার।

# Problem Diff Pattern / Skill কেন জরুরি Status
41 Valid Parentheses 🟢 stack matching parser/compiler basics ✅
42 Min Stack 🟡 aux stack O(1) min design ✅
43 Queue via Stacks 🟢 amortized design data-structure design ✅
44 Next Greater Element 🟡 monotonic stack stock span, histograms ✅
45 Daily Temperatures 🟡 monotonic stack wait-time problems ✅
46 Evaluate RPN 🟡 stack eval expression engines ✅
47 Largest Rectangle in Histogram 🔴 monotonic stack hard stack peak ✅

Stage 8 — Linked List (7)

pointer surgery — reverse, cycle, merge; design (LRU)।

# Problem Diff Pattern / Skill কেন জরুরি Status
48 Reverse Linked List 🟢 pointer rewiring #1 LL skill ✅
49 Merge Two Sorted Lists 🟢 two-pointer merge merge-sort building block ✅
50 Linked List Cycle 🟢 Floyd fast/slow cycle detection ✅
51 Middle of List 🟢 fast/slow split for merge-sort ✅
52 Remove Nth From End 🟡 two-pointer gap one-pass delete ✅
53 Palindrome Linked List 🟡 reverse half O(1) space check ✅
54 LRU Cache 🟡 hashmap + DLL design real cache (Redis-style) ✅

Stage 9 — Recursion ও Backtracking (7)

"সব সম্ভাবনা" তৈরি — subsets, permutations, grid search।

# Problem Diff Pattern / Skill কেন জরুরি Status
55 Fibonacci (recursion→memo) 🟢 recursion + memo DP-র গেটওয়ে ✅
56 Climbing Stairs 🟢 recurrence counting paths ✅
57 Subsets 🟡 backtracking power set combinations engine ✅
58 Permutations 🟡 backtracking + used ordering/scheduling ✅
59 Combination Sum 🟡 backtracking + prune choose-with-repeat ✅
60 Generate Parentheses 🟡 constrained backtracking valid-config generation ✅
61 Word Search 🟡 grid DFS + backtrack board/maze search ✅

Stage 10 — Trees ও BST (10)

traversal, BFS/DFS, BST property, LCA, serialize — interview heartland।

# Problem Diff Pattern / Skill কেন জরুরি Status
62 Maximum Depth 🟢 DFS recursion tree recursion basics ✅
63 Inorder Traversal 🟢 DFS / stack BST sorted order ✅
64 Invert Binary Tree 🟢 recursion famous warm-up ✅
65 Symmetric Tree 🟢 mirror recursion structural compare ✅
66 Level Order Traversal 🟡 BFS queue layer processing ✅
67 Validate BST 🟡 bounds recursion invariant checking ✅
68 Kth Smallest in BST 🟡 inorder + count order statistics ✅
69 LCA of Binary Tree 🟡 post-order recursion hierarchy queries ✅
70 Diameter of Binary Tree 🟡 height + global max tree DP pattern ✅
71 Serialize/Deserialize Tree 🔴 DFS encode/decode storage/transmission ✅

Stage 11 — Heap / Priority Queue (5)

"top/kth/median" — streaming-এ সেরা।

# Problem Diff Pattern / Skill কেন জরুরি Status
72 Kth Largest Element 🟡 min-heap size k order statistics ✅
73 K Closest Points 🟡 heap by distance nearest-neighbour ✅
74 Task Scheduler 🟡 greedy + heap CPU/job scheduling ✅
75 Meeting Rooms II 🟡 heap of end-times resource allocation ✅
76 Find Median from Data Stream 🔴 two heaps streaming median ✅

Stage 12 — Graphs (10)

BFS/DFS, topological sort, shortest path — সিস্টেম-চিন্তার মূল।

# Problem Diff Pattern / Skill কেন জরুরি Status
77 Number of Islands 🟡 grid DFS/BFS connected components ✅
78 Flood Fill 🟢 DFS/BFS paint bucket, segmentation ✅
79 Rotting Oranges 🟡 multi-source BFS spread/diffusion ✅
80 Clone Graph 🟡 DFS + hashmap deep copy graphs ✅
81 Is Graph Bipartite 🟡 2-coloring BFS conflict/grouping ✅
82 Course Schedule 🟡 cycle detect (topo) dependency resolution ✅
83 Course Schedule II 🟡 topological order build systems, DAG ✅
84 Word Ladder 🔴 BFS shortest path transformation search ✅
85 Network Delay Time 🟡 Dijkstra weighted shortest path ✅
86 Alien Dictionary 🔴 topo sort (hard) ordering inference ✅

Stage 13 — Union-Find / DSU (3)

"এরা কি একই দলে?" — connectivity-র দ্রুততম উত্তর।

# Problem Diff Pattern / Skill কেন জরুরি Status
87 Redundant Connection 🟡 DSU cycle network/tree validation ✅
88 Make Network Connected 🟡 DSU components infra connectivity ✅
89 Accounts Merge 🔴 DSU + map entity resolution/dedupe ✅

Stage 14 — Dynamic Programming (11)

overlapping subproblems — interview-এর সবচেয়ে ভয়ের, কিন্তু pattern শিখলে সহজ।

# Problem Diff Pattern / Skill কেন জরুরি Status
90 House Robber 🟡 1D DP pick/skip pattern ✅
91 Unique Paths 🟡 grid DP counting paths ✅
92 Minimum Path Sum 🟡 grid DP min cost optimization ✅
93 Coin Change (min) 🟡 unbounded knapsack make-change/optimization ✅
94 0/1 Knapsack (Book Shop) 🟡 0/1 knapsack budget/resource picking ✅
95 Partition Equal Subset Sum 🟡 subset-sum DP balancing/fairness ✅
96 Longest Increasing Subsequence 🟡 LIS DP sequence trends ✅
97 Word Break 🟡 string DP tokenization/parsing ✅
98 Longest Common Subsequence 🟡 2D DP diff, DNA, similarity ✅
99 Edit Distance 🔴 2D DP spellcheck, diff, fuzzy match ✅
100 Burst Balloons 🔴 interval DP hardest DP class ✅

🏁 Milestones

  • Stage 1–3 শেষ (18): math + binary search ভিত্তি দখলে — অনেক easy interview এখনই পারবে।
  • Stage 4–7 শেষ (47): arrays/strings/hashing/stack — job-ready interview-এর core।
  • Stage 8–11 শেষ (76): LL + recursion + trees + heap — mid-level interview-ready।
  • Stage 12–14 শেষ (100): graphs + DSU + DP — Google/FAANG on-site দেওয়ার মতো।

পরের ধাপ (এই path-এর সাথে যা চলবে)

  • প্রতিদিন রুটিন: 2–4টা problem + আগেরগুলো দ্রুত review।
  • প্রতি stage শেষে: pattern-টা নিজে এক প্যারায় লিখে ফেলা (note-এর "Pattern learned" দেখে)।
  • System Design + behavioral (Google-এর জন্য) — DSA-র পাশাপাশি, web-dev roadmap-এর Phase 10-এ।

নোট: এই 100-র প্রতিটা problem-এর .md-তে এখন Python + JavaScript + TypeScript solution + test cases + real-world use যোগ করা হয়ে গেছে — ১০০/১০০ ✅। সব JavaScript node-এ চলে (test pass), সব TypeScript tsc --strict-এ type-check pass — sandbox-এ স্বাধীনভাবে যাচাই করা।