Asosiy mazmunga o‘tish
9 daqiqa o'qish0

O'zbek dasturchilari uchun LeetCode o'qish rejasi: 8 haftalik yo'l xaritasi

LeetCode 2026-yilda texnik intervyu uchun eng ishonchli tayyorgarlik vositasi — Uzum, Click, EPAM Toshkentda yoki Yevropaning mahsulot kompaniyasida masofaviy lavozim bo'lsin farqi yo'q. Ammo 500 ta tasodifiy masala yechish strategiya emas. Ushbu 8 haftalik reja Toshkent intervyularida va xalqaro kompaniyalarning klassik FAANG-uslubidagi raundlarida haqiqatan uchraydigan patternlarni qamrab oladi.

Boshlashdan avval: o'z darajangizni aniqlang

Birinchi ikki kunni yordam ko'rsatmalarsiz, vaqtni o'lchab, 10 ta notanish oson masalani yechishga sarflang. Bu qaysi sohalarda ko'proq ishlash kerakligini ko'rsatadi. Ko'pgina Toshkent dasturchilari massivlar va sikllarni yaxshi biladilar, lekin graflar va dinamik dasturlashda zaifroqlar — rejalashtirish paytida bunga e'tibor bering.

Haftadagi maqsadli vaqt: 10–14 soat (kuniga taxminan 1,5–2 soat). Ko'proq — toliqishga olib keladi; kamroq — patternlar o'rniqmaydi.

1–2-hafta: Asoslar (Massivlar, satrlar, xesh-jadvallar)

Bu patternlar Toshkent kompaniyalaridagi deyarli har bir birinchi texnik raundda uchraydi. Boshqa narsadan oldin ularni o'zlashtirib oling.

  • Ikki ko'rsatkich — Valid Palindrome, Two Sum II, Container With Most Water
  • Sirpanuvchi oyna — Maximum Subarray, Longest Substring Without Repeating Characters
  • Xesh-jadvalda hisoblash — Two Sum, Group Anagrams, Top K Frequent Elements
  • Satr bilan ishlash — Reverse String, Valid Anagram, Longest Common Prefix

Kuniga 3–4 masala yeching. Har birini yechgandan so'ng pattern nomini va asosiy g'oyani yozib qo'ying. Har ertalab eslatmalaringizni ko'rib chiqing — oraliqli takrorlash patternlarni hajmdan ko'ra tezroq mustahkamlaydi.

3-hafta: Stack va navbatlar

Stacklar ko'pincha kam baholanadi. Ular graf va parsing masalalarining yashirin ko'rinishida uchraydi.

  • Valid Parentheses, Min Stack, Daily Temperatures
  • Evaluate Reverse Polish Notation, Largest Rectangle in Histogram
  • Navbat: Implement Queue Using Stacks, Design Circular Queue

Stacklar uchun asosiy tushuncha: "keyingi katta/kichik elementni top" yoki "muvozanat tekshiruvi" ko'rsangiz — darhol stackni o'ylang.

4-hafta: Daraxtlar va ikkilik qidiruv

Daraxtlar Uzum, Humans va IT Park rezidentlari kabi Toshkent kompaniyalarining o'rta darajadagi intervyularida eng ko'p uchraydigan ma'lumotlar strukturasidir. Ikkilik qidiruv esa deyarli har bir backend intervyusida so'raladi.

  • Daraxt aylanish usullari — Inorder, Preorder, Postorder (rekursiv va iterativ)
  • BST amallari — Insert, Delete, Validate BST, Lowest Common Ancestor
  • Ikkilik qidiruv variantlari — Search in Rotated Sorted Array, Find First and Last Position, Search a 2D Matrix
  • BFS daraja bo'yicha — Binary Tree Level Order Traversal, Right Side View

Ko'p nomzodlar rekursiv yechimni yecha oladi, ammo iterativ variantda qotib qoladi. Ikkalasini ham mashq qiling — intervyuchilar ko'pincha rekursiyani olib tashlashingizni so'raydi.

5-hafta: Graflar

Graf masalalari telefon skrinunglarida kam uchraydi, ammo yirik Toshkent kompaniyalarining on-site raundlarida va barcha xalqaro intervyularda ko'p bo'ladi.

  • Setkada BFS/DFS — Number of Islands, Rotting Oranges, Flood Fill
  • Grafda BFS/DFS — Clone Graph, Course Schedule, Pacific Atlantic Water Flow
  • Union-Find — Number of Connected Components, Redundant Connection

BFS (navbat + tashrif etilganlar to'plami) va DFS (stack yoki rekursiya + tashrif etilganlar to'plami) shablonini yodda saqlang. Graf masalalarining aksariyati ushbu ikki shablonning variatsiyasidir.

6-hafta: Dinamik dasturlash — asoslar

DP ko'pgina o'zbek dasturchilari eng ko'p qiynaladigan soha. Yaxshi xabar: mahalliy intervyulardagi DP masalalarining 80 foizi 4 ta patterndan iborat.

  • 1D DP — Climbing Stairs, House Robber, Coin Change, Longest Increasing Subsequence
  • 2D DP — Unique Paths, Minimum Path Sum, Edit Distance
  • Ryukzak patterni — 0/1 Knapsack, Partition Equal Subset Sum, Target Sum
  • Satr DP — Longest Common Subsequence, Palindromic Substrings

Har bir DP masalasi uchun: holatni aniqlang, rekurrentsiyani yozing, asosiy holatni toping — shundan so'ng kod yozing. Rekurrentsiyani qog'ozga yozish har masalada 20+ daqiqa tejaydi.

7-hafta: Murakkab DP + to'plar (heap)

  • Interval DP — Burst Balloons, Matrix Chain Multiplication
  • Holatlar mashinasi DP — Best Time to Buy/Sell Stock (turli variantlar)
  • Heap/Ustuvor navbat — Kth Largest Element, Merge K Sorted Lists, Task Scheduler, Find Median from Data Stream

Heaplar tizim dizayniga yaqin masalalarda tez-tez uchraydi: "har doim top-N elementlarni qaytaradigan komponentni loyihalang". Min-heap va max-heap hamda ularni qachon ishlatishni biling.

8-hafta: Namuna intervyular + zaif tomonlarni mustahkamlash

8-haftada yangi patternlar o'rganmang. Faqat simulyatsiyaga e'tibor qarating.

  • Haftada 2 ta to'liq namuna intervyu (taymer yoqilgan, ovoz chiqarib tushuntiring)
  • Qolgan bo'shliqlarni to'ldirish uchun NeetCode 150 ro'yxatidan foydalaning
  • 1–7-haftalarda yecha olmagan har bir masalaga qayting va uni noldan yeching
  • Kod yozishdan oldin yondashuvingizni tushuntirishni mashq qiling — Toshkent intervyuchilari muloqotni yechim kabi qadrlaydil

O'zbek dasturchilari LeetCode'da qiladigan 3 xato

  1. Patternlarsiz miqdorni ko'paytirish. Pattern tanib olmasdan 300 ta tasodifiy masala, aniq tizimga solingan 80 ta masaladan kam qimmatli. Har masaladan so'ng uning asosiy patternini belgilang.
  2. Masala shartini tahlil qilmaslik. Xatolarning ko'pi cheklovlarni noto'g'ri o'qishdan kelib chiqadi. Kod yozishdan oldin so'rang: kirish hajmi qanday? Bo'sh bo'lishi mumkinmi? Qiymatlar manfiy bo'lishi mumkinmi? Dublikatlar bormi?
  3. Jim mashq qilish. Haqiqiy intervyuda ovoz chiqarib o'ylash kerak. Uyda jim mashq qilsangiz — tushuntirishingiz so'ralganda qotib qolasiz. Birinchi kundan boshlab fikringizni bayon qiling.

Tavsiya etilgan manbalar

  • NeetCode.io — video tushuntirishlar bilan eng yaxshi tizimga solingan masalalar ro'yxati
  • Blind 75 — intervyuga tayyorgarlik uchun minimal zarur masalalar to'plami
  • LeetCode Discuss — masalani yechgandan (yoki yecha olmagan) so'ng eng yaxshi yechimlarni o'qing
  • Pramp / Interviewing.io — haqiqiy muhandislar bilan bepul namuna intervyular

Patternlarga yo'naltirilgan sakkiz haftalik izchil mashq har qanday Toshkent kompaniyasida va ko'pgina o'rta darajadagi xalqaro intervyularda kod yozish raundidan o'tish uchun yetarli. Maqsad — yechimlarni yod olish emas, balki masalani o'qishning dastlabki 2 daqiqasida qaysi shablonni qo'llash kerakligini aniqlash.