19-qism
1-savol
>>> count_substring('AAAA', 'AA')
'AA' qismsatri 'AAAA' satrda necha marta uchraydi? Bir mantiq bo‘yicha 2 marta, boshqacha qarasak 3 marta. Biz qismsatrlarning bir-biriga mos tushish holatlarini hisobga olish olmasligimizga bog‘liq!
Yuqoridagi yechimda funksiya qismsatrlarning bir-biriga mos tushish holatlarini hisobga oladi va AA qismsatr uchun 3 son qaytaradi. Agar biz shuni xohlasak, ajoyib! Agar xohlamasak-chi?
Muammoni funksiyaning while qatorida ba’zi o‘zgartirishlar kiritish orqali hal qilamiz. Bu yerda ikki xil urinish mavjud, ulardan qaysi biri ishlaydi?
(Qaysi biri AAAA satrida AA qismsatrlar sonini uch emas, ikki qaytaradi?)
Izoh: Ikkinchi holatda shart umuman noto‘g‘ri, ya’ni qismsatr kerak bo‘lgan satr (target)ga teng bo‘lmaganda tekshirish qadami bir emas, qismsatr uzunligida oshirilyapti, bu degani orada qismsatrlar tekshirilmay qolishi mumkin.
Topshiriq
Do'stlaringiz bilan baham: |