Birga oshirish

Birga oshirish

@algoplus
Algo Expert Chanel
Mushohada.
1) Istalgan songa 1 qo'shilsa sonning uzunligi yane sondagi raqamlar soni 1 tadan ko'p oshmaydi. Masalan 99+1=100 99 -2 ta raqam 100 -3 ta raqam


Yechim:

Berilgan ro'yxat(massivni) oxirgi elementini 1 ga oshiramiz. Albatta 9 kabi raqamlarda bu 10 soniga aylanadi. Endi elementlarni normallashtirishimiz kerak bo'ladi. Yane har bitta elementni (oxiridan) mod(%) 10 ga yane 10 ga bo'lib qoldiqni elementni o'zida saqlashimiz kerak. Albatta "yodda ham " saqlab borishimiz kerak. Agar oxirida "yodda saqlab" qolgan sonimiz 0 dan farqli bo'lsa ro'yxatga qo'shib qo'yamiz.

Boshidagi holat
Oxiridan boshlab chap tomonga harakatlanish
Oxirgi qadam

Agar 4 ning o'rnida 9 bo'lganda ro'yxatdagi elementlar bittaga oshishi kerak edi. Rem da esa sonning boshidagi raqami saqlangan bo'lar edi.

Yechimlarni keltiramiz

C# dasturlash tilidagi yechimi
C++ dagi yechim
Python 3
Umumiy holatda
Time Complexity O(N)
Memory Complexity O(N) (Qaytarish uchun yangi massiv)









Report Page