Asosiy tarkibga o‘tish

O‘rganish

Kirish
Qo‘llanma

Qo‘llanma · Dasturlash

binary-search

3 ta masala Masalalar ro‘yxatida

Nazariya

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

from bisect import bisect_left, bisect_right
k = bisect_right(a, x)     # x dan katta bo‘lmaganlar soni

lo, hi = 0, 10**9          # javob bo‘yicha qidiruv
while lo < hi:
    mid = (lo + hi) // 2
    if ok(mid): hi = mid
    else: lo = mid + 1

Javob bo‘yicha qidiruv

Agar «X yetarlimi?» savoli monoton bo‘lsa (X ishlasa, kattaroq ham ishlaydi), eng kichik X ni ikkilik qidiruv bilan toping. Chegaralar va mid ni yaxlitlashga ehtiyot bo‘ling — cheksiz sikl shu yerdan chiqadi.

Easy

Medium

Hard

Shu mavzu kirgan kurslar

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