Asosiy tarkibga o‘tish

O‘rganish

Kurs — boshidan oxirigacha yuriladi · Qo‘llanma — kerak bo‘lganda o‘qiladi
Kirish

Dasturlash

Nazariya

math

Ko‘p masalada sikl o‘rniga formula bor.

54 masala

Nazariya

conditionals

Shart dastur qaysi yo‘ldan borishini hal qiladi.

52 masala

Nazariya

loops

Sikl bir ishni ko‘p marta bajaradi.

50 masala

Nazariya

strings

Satr — belgilar ketma-ketligi. Python’da satr o‘zgarmas: yangi satr yasaladi.

25 masala

Nazariya

input-output

Har bir masala kirish ma’lumotlarini o‘qiydi va javobni chiqaradi. Tekshiruvchi faqat chiqishni

21 masala

Nazariya

implementation

Ba’zi masalalarda maxsus algoritm kerak emas — shartni aniq va ehtiyotkorlik bilan bajarish kerak.

20 masala

Nazariya

arrays

Massiv (Python’da ro‘yxat) — bir xil turdagi qiymatlar ketma-ketligi, indeks 0 dan boshlanadi.

16 masala

Nazariya

hash-table

Hash-jadval «bu element bormi?» savoliga o‘rtacha O(1) vaqtda javob beradi.

14 masala

Nazariya

sorting

Saralash ko‘p masalani soddalashtiradi: tenglar yonma-yon, eng kichiklar boshida.

5 masala

Nazariya

two-pointers

Ikki ko‘rsatkich — ro‘yxat bo‘ylab ikki indeksni bir vaqtda yuritish. Ko‘pincha O(n²) ni O(n) ga tushiradi.

5 masala

Nazariya

binary-search

Ikkilik qidiruv saralangan ro‘yxatda qidiruv oralig‘ini har qadamda ikki baravar qisqartiradi: log₂(10⁹) ≈ 30…

3 masala

Dinamik dasturlash (DP): katta masalaning javobini kichik masalalar javobidan yig‘ish va har birini

3 masala

Nazariya

graphs

Graf — uchlar va ularni bog‘lovchi qirralar (shaharlar va yo‘llar, labirint kataklari).

3 masala

Nazariya

bit-manipulation

Sonlar ikkilik ko‘rinishda saqlanadi; bit amallari juda tez.

2 masala

Nazariya

combinatorics

Nechta usulda tanlash yoki joylashtirish mumkinligini sanash.

2 masala

Nazariya

data-structures

To‘g‘ri tuzilma algoritmni tezlashtiradi.

2 masala

Nazariya

greedy

Ochko‘z (greedy) algoritm har qadamda hozir eng yaxshi ko‘ringan tanlovni qiladi va ortga qaytmaydi.

2 masala

Nazariya

prefix-sums

Prefiks yig‘indi: p[i] = a[0] + ... + a[i-1]. Shunda [l, r] oraliq yig‘indisi bir amalda:

2 masala

Nazariya

geometry

def cross(o, a, b):

1 masala

Nazariya

backtracking

oxirgi tanlovni bekor qilib, boshqasini sinaymiz. Bu aqlli to‘liq perebor.

Masalalar tez orada

Nazariya

bfs

bo‘lganlar, keyin 2… Shuning uchun qirralar vazni bir xil bo‘lsa, eng qisqa yo‘lni beradi. O(V + E).

Masalalar tez orada

Nazariya

brute-force

agar n kichik bo‘lsa (masalan, 10–20 gacha), ko‘pincha shuning o‘zi yetadi.

Masalalar tez orada

Nazariya

complexity

Algoritm qancha vaqt va xotira olishini kirish hajmi n orqali baholaymiz. Bu O-belgisi

Masalalar tez orada

Nazariya

dfs

import sys

Masalalar tez orada

yechamiz, so‘ng natijalarni birlashtiramiz.

Masalalar tez orada

Nazariya

heap

Python’da heapq (min-heap).

Masalalar tez orada

Nazariya

linked-list

lekin i-elementga borish O(n).

Masalalar tez orada

Nazariya

queue

ro‘yxatdan pop(0) O(n), deque.popleft() esa O(1).

Masalalar tez orada

Nazariya

recursion

def factorial(n):

Masalalar tez orada

Nazariya

segment-tree

oraliq bo‘yicha so‘rov (yig‘indi, minimum, maksimum). Prefiks yig‘indi faqat o‘zgarmas massivda ishlaydi;

Masalalar tez orada

Nazariya

shortest-paths

Vaznli grafda eng qisqa yo‘l. Qaysi algoritm — qirralarga bog‘liq:

Masalalar tez orada

Nazariya

sliding-window

uni o‘ngga suramiz. Har element oynaga bir marta kiradi va bir marta chiqadi — jami O(n).

Masalalar tez orada

Nazariya

stack

pop — olish, st[-1] — tepadagi element. Hammasi O(1).

Masalalar tez orada

Nazariya

trees

tanlasak, har uchning ota-onasi va bolalari bo‘ladi.

Masalalar tez orada

Nazariya

union-find

so‘rovlariga deyarli O(1) da javob beradi.

Masalalar tez orada

SQL

Nazariya

group-by

GROUP BY qatorlarni bir xil qiymat bo‘yicha guruhlarga bo‘ladi; agregat funksiya har guruh uchun hisoblanadi.

7 masala

Nazariya

join

JOIN ikki jadval qatorlarini umumiy ustun bo‘yicha birlashtiradi. INNER JOIN (yoki shunchaki JOIN)

6 masala

Nazariya

where

WHERE faqat shartga mos qatorlarni qoldiradi.

5 masala

Nazariya

aggregation

Agregat funksiyalar ko‘p qatorni bitta qiymatga aylantiradi.

4 masala

Nazariya

date-functions

SQLite’da sanalar matn sifatida saqlanadi: '2026-10-01' yoki '2026-10-01 14:30:00'.

3 masala

Nazariya

order-by

ORDER BY natijani saralaydi: ASC — o‘sish (standart), DESC — kamayish.

3 masala

Nazariya

select

SELECT jadvaldan kerakli ustunlarni oladi.

3 masala

Nazariya

subquery

SELECT name, salary FROM employees

3 masala

Nazariya

left-join

LEFT JOIN chap jadvalning barcha qatorlarini qoldiradi; o‘ngda mosi bo‘lmasa, o‘ng ustunlar NULL bo‘ladi.

2 masala

Nazariya

case-when

CASE — SQL ichidagi if/elif/else. Yangi hisoblangan ustun yasash uchun.

1 masala

Nazariya

distinct

DISTINCT takrorlangan qatorlarni olib tashlaydi.

1 masala

Nazariya

having

HAVING — guruhlar uchun WHERE. U GROUP BY dan keyin ishlaydi va agregatlar bilan shart qo‘yadi.

1 masala

Nazariya

like

LIKE satrni andoza bo‘yicha qidiradi: % — istalgan uzunlikdagi belgilar, _ — bitta belgi.

1 masala

Nazariya

limit

LIMIT natijadan faqat dastlabki n qatorni qoldiradi. Deyarli doim ORDER BY bilan birga ishlatiladi.

1 masala

Nazariya

null-values

NULL — «qiymat yo‘q». U hech narsaga teng emas, hatto o‘ziga ham.

1 masala

Nazariya

sql

SQL so‘rovi qaysi ma’lumot kerakligini aytadi, qanday topishni emas.

Masalalar tez orada

Menyu

Ko‘rinish

Klaviatura yorliqlari

Ctrl K yoki /
Qidirish va buyruqlar
g h
Bosh sahifa
g p
Masalalar
g c
Musobaqalar
g r
Reyting
Ctrl Enter
Masala sahifasida — yechimni yuborish
?
Shu oyna