Published on

First Bad Version

Authors

📝 Vazifa tavsifi

Siz mahsulot menejerisiz (Product Manager) va jamoangiz bilan yangi mahsulot yaratyapsiz. Afsuski, mahsulotning oxirgi versiyasi sifat tekshiruvidan (quality check) o'ta olmadi. Har bir versiya o'zidan oldingisiga asoslanganligi sababli, bitta yomon versiyadan keyingi barcha versiyalar yomon (bad) bo'ladi.

Sizda n ta versiya bor [1, 2, ..., n]. Birinchi yomon (bad) versiyani topishingiz kerak, qaysiki o'zidan keyingi barchasini yomon qilgan.

Sizda ma'lum versiyaning yomon yoki yo'qligini tekshirib beradigan isBadVersion(version) funksiyasi tayyor berilgan deb tasavvur qiling. API chaqiriqlarini imkon qadar kamaytirish uchun, yechimingiz Binary Search algoritmidan foydalanishi kerak.

Eslatma: Tizim testida biz isBadVersion funksiyasi o'rniga bad deb nomlangan versiyani parametrdan berib yuboramiz. Siz funksiyangiz ichida bad qaysi ekanligini izlashingiz kerak bo'ladi (ya'ni version >= bad bo'lsa u yomon versiya). Lekin O(log n) da ishlashi shart.

Misol:

Input: n = 5, bad = 4
Output: 4
Tushuntirish:
isBadVersion(3) -> false
isBadVersion(5) -> true
isBadVersion(4) -> true
Demak 4 - birinchi yomon versiya.

First Bad Version

Oson15 daqiqa10 ball

📚 Misollar

Kiruvchi: n = 5, bad = 4
Chiquvchi: 4
Kiruvchi: n = 1, bad = 1
Chiquvchi: 1
func solve(_ n: Int, _ bad: Int) -> Int { // Kodingizni shu yerga yozing // version >= bad ekanligini tekshirish - isBadVersion o'rnida ishlatiladi return 0 }

Run tugmasini bosing

Buy mea coffee