Backtracking algoritmi

Backtracking – biror muammoni yechish uchun har bir ehtimoliy kombinatsiyalarni tekshirib chiquvchi va natija topilganda dasturni to’xtatuvchi rekursiv algoritm. U tree ichida qidiruv yoki tree’ning barcha uchlarini (barglarini) topish kabi amallarni bajarib, har bir tree’ning uchlarigacha tekshirib chiqadi.

Leetcode 12. Integer to Roman

Rim sonlari 7 xil belgilar bilan yasalari. Ular I, V, X, L, C, D va M bo’lib, rim raqamlari deyiladi. Rim raqamlari odatda chapdan o’ngga kattasidan boshlab yoziladi, lekin IIII soni IV ya’ni 5-1=4 ko’rinshida beriladi (V – I). Huddi shu qoida 9 uchun ham amal qiladi – IX. Jami 6 xil holatda ayirish bilan son hosil qilinadi:

Leetcode 9. Palindrome Number

x son berilgan, funksiya agar x palindrom bo’lsa true, aks holda false qaytarishi kerak. Palindrom son deb ohiridan boshiga qarab o’qilganda ham bir xil chiqadigan sonlarga aytiladi. Masalan, 121 – palindrom, 123 – palindrom emas. Shuningdek, -121 ham palindrom emas, chunki teskari o’qilganda 121- bo’lib qoladi.

Leetcode 7. Reverse Integer

32 bitli x integer son berilgan. Uning raqamlarini teskari o’girib qaytaring. Agar teskari o’girish 32 bitli integer sig’imi [-2^31, 2^31 – 1] oralig’idan oshib ketadigan bo’lsa, 0 qiymatini qaytaring.