JavaScript || DSA
323 subscribers
10 photos
1 file
67 links
Assalomu Alaykum:
Bu Kanalda Dasturlashga oid turli xil masalalar tashlab boriladi.

Bu Kanalni ochishdan maqsad masala ishlash ko'nikmasini oshirish. Masalalar asosan leetcode.com dan olinadi va tarjima qilinadi.

Takliflar: @abduhamid0v
Download Telegram
#Mavzu Recursion


Assalomu alaykum hammaga ertaga misolsiz kun bo'ladi, shu yuborilayotgan linklarni o'rganishingiz so'raladi, o'zbekchada content topolmadim, kam ekan, kimdadir recursion haqida birorta foydali ma'lumotlar bo'lsa o'zbek tilida shu post commentiga yozib qoldiring. raxmat hammaga Kuningiz xayrli o'tsin.

O'zbekcha:


Recursion 1
Recursion nima


English:


Recursion Playlist

{there are around 22 videos i think, watch first one two videos, then the rest watch when u have time , for now the first 2 videos are enough.}

Reading contents in English:
How recursion Works?
Analysis of the recursion.
Iteration vs recursion.
πŸ‘Œ2
Yuqoridagi darslarni ko'rib, recursion haqida yetarlicha bilimga ega bo'lga bo'lsangiz, bilimlaringizni tekshirib ko'rish uchun ushbu misolni recursion yordamida yechishga harakat qilib ko'ring:
🟩πŸŸ₯Question #10
🟦 Birincha N natural sonlarni yigindisini toping

input: N = 5
output: 15
Tarif: 1+2+3+4+5=15

Input: N = 6
output: 21
Tarif: 1+2+3+4+5+6=21

Agar mobodo savol qiyinlik qilsa, internetdan izlab ko'rib javobini ko'rib, misolni qanday ishlashini tushunishga harakat qiling va shuni o'zingiz takroran ishlab ko'ring!!!


Commentariyada boshqalar bilan muhokama qiling, juda muhim


-> -> -> [ Javob uchun linklar kun oxirigacha Shu yerga biriktiriladi! ] <- <- <-


@JavaScriptQuiiz
πŸ”₯2
Yuqoridagi o'zbekcha videolar yetarli bo'lmagan bo'lsa ChatGPT dan bir qancha savollar so'rab tushunishga harakat qilsangiz bo'ladi. Undan keyin yuqorida yuborigan misolni yana bir marta ishlab ko'ring
πŸ‘2πŸ‘Œ2
Recursion haqidagi keyingi biroz challeging misolga tayyormisiz?
Anonymous Poll
81%
Ha
22%
Yo'q
🟩πŸŸ₯Question #11
🟦 N ta sonning faktorialini toping.

input: N = 5
output: 120
Tarif: 5! = 5*4*3*2*1

Input: N = 3
output: 6
Tarif: 3! = 3 * 2 *1

Agar mobodo savol qiyinlik qilsa, internetdan izlab ko'rib javobini ko'rib, misolni qanday ishlashini tushunishga harakat qiling va shuni o'zingiz takroran ishlab ko'ring!!!


Diqqat: Iterative va recursive yo'llarda ishlab ko'ring va javoblaringizni comment sectionda boshqalar bilan muhokama qiling .

Commentariyada boshqalar bilan muhokama qiling, juda muhim


-> -> -> [ Javob uchun linklar kun oxirigacha Shu yerga biriktiriladi! ] <- <- <-


@JavaScriptQuiiz
🟩πŸŸ₯Question #12
🟦 Arrayni reverse qiling, teskarisiga o'giring.

input: arr = [5,4,3,2,1]
output: [1,2,3,4,5]

Input: arr = [10,20,30,40]
output: [40, 30, 20, 10]


Agar mobodo savol qiyinlik qilsa, internetdan izlab ko'rib javobini ko'rib, misolni qanday ishlashini tushunishga harakat qiling va shuni o'zingiz takroran ishlab ko'ring!!!


Diqqat: Iterative va recursive yo'llarda ishlab ko'ring va javoblaringizni comment sectionda boshqalar bilan muhokama qiling .

!!! Array.prototype.reverse() ni ishlatish mumkin emas.

Commentariyada boshqalar bilan muhokama qiling, juda muhim


-> -> -> [ Javob uchun linklar kun oxirigacha Shu yerga biriktiriladi! ] <- <- <-


@JavaScriptQuiiz
πŸ”₯2πŸ‘1🀯1πŸŽ‰1
🟩πŸŸ₯Question #13
🟦 N ta fibbonachi sonlarni qaytaring, 0 dan boshlab sanaladi shunda qaytariladigan arrayning uzunligi n+1 ta bo'ladi.

Tarif: fibbonachi son bu o'zidan oldin kelgan 2 ta fibbonachi sonlarning yig'indisi orqali hosil qilinadi. ular har doim 0 va 1 dan boshlanadi, shunda keyingi sonlar 1, 2, 3, 5 ko'rinishida davom etadi, shunda ketma -ketlikning uchinchisi 0 va 1 ning yigindisi yani 1, ketma ketlikning 4-si esa 1 va 1 ning yigindisi yani 2


input: N = 5
output: [0, 1, 1, 2, 3, 5]

Input: N = 6
output: [0, 1, 1, 2, 3, 5, 8]


Agar mobodo savol qiyinlik qilsa, internetdan izlab ko'rib javobini ko'rib, misolni qanday ishlashini tushunishga harakat qiling va shuni o'zingiz takroran ishlab ko'ring!!!



Diqqat: Iterative va recursive yo'llarda ishlab ko'ring va javoblaringizni comment sectionda boshqalar bilan muhokama qiling .

Commentariyada boshqalar bilan muhokama qiling, juda muhim

Leetcode dagi shu misol uchun muqobil link : click me


-> -> -> [ Javob uchun linklar kun oxirigacha Shu yerga biriktiriladi! ] <- <- <-


@JavaScriptQuiiz
πŸ”₯4
🟩πŸŸ₯Question #14
🟦 Merge sort algoritmini implement qiling.

input: [12, 46, 24, 52, 20, 9]
output: [9, 12, 20, 24, 46, 52]

Input: [5,4,3,2,1]
output: [1,2,3,4,5]


Hint: shu video animatsiyani ko'ring , va Merge sort qanaqa ishlashini tushunishga harakat qiling, va o'z implementationizni yozing. videoga link

Agar mobodo savol qiyinlik qilsa, internetdan izlab ko'rib javobini ko'rib, algorithmni qanday ishlashini tushunishga harakat qiling va shuni o'zingiz takroran ishlab ko'ring!!!

Commentariyada boshqalar bilan muhokama qiling, juda muhim

-> -> -> [ Javob uchun linklar kun oxirigacha Shu yerga biriktiriladi! ] <- <- <-


@JavaScriptQuiiz
Assalomu alaykum hammaga , bugun savollar soni ikkita, bugungi mavzularga etiborliroq bo'lishingiz so'raladi. qo'lingizdan kelgancha harakat qilib xato bo'lsa ham post commenti ga yuboring, siz bilan xato joylarini to'g'irlaymiz.

Yana bitta maslahat, agar amal qilsangiz tasiri effective bo'ladi.
Demak, har kuni oldin shu yerda yuborilgan bitta misolni oling {sorting mavzusidan boshlashni maslahat beraman}, qayta analiz qilib ko'ring, eng optimal yechimni topib ko'ring, keyin kodini yozing, iloji bo'lsa bitta daftar yoki note yoziladigan proogrammadan ham foydalansangiz bo'ladi, osha daftarga yechimga borish uchun nima qilganizni yozing, har kuni bitta-bitta mavzuni qo'shib boring, taxminiy 20 kundan keyin boshidan har kuni bitta-bitta mavzuni chiqarib tashlaysiz, shunda eng ko'pi bilan max 20 ta masalani bir kunda takrorlashingizga to'g'ri keladi. Nega buni yozdim, hozirgi mavzular oson anchagina, keyinchalik misollar qiyinlashadi, shunda o'sha misollarni bir marta ishlab o'tib ketish sizga unchalik foryda bermasligi mumkin, agar note qilib bormasangiz 10-15 kundan keyin yana o'sha misolni uchratsangiz birinchi marta qancha vaqt ketkazgan bo'lsangiz, yana shuncha vaqt sarflaysiz, negaki qanday yechganingiz yodingizdan ko'tarilgan bo'ladi, iloji boricha shu maslahatga amal qilishingizni so'rab qolamiz! Raxmat hammaga
πŸ”₯5⚑1πŸ‘1
🟩πŸŸ₯Question #15
🟦 Quick sort algoritmini implement qiling.

input: [12, 46, 24, 52, 20, 9]
output: [9, 12, 20, 24, 46, 52]

Input: [5,4,3,2,1]
output: [1,2,3,4,5]


Hint: shu video animatsiyani ko'ring , va Quick sort qanaqa ishlashini tushunishga harakat qiling, va o'z implementationizni yozing. videoga link

Agar mobodo savol qiyinlik qilsa, internetdan izlab ko'rib javobini ko'rib, algorithmni qanday ishlashini tushunishga harakat qiling va shuni o'zingiz takroran ishlab ko'ring!!!

Commentariyada boshqalar bilan muhokama qiling, juda muhim

-> -> -> [ Javob uchun linklar kun oxirigacha Shu yerga biriktiriladi! ] <- <- <-


@JavaScriptQuiiz
πŸ‘1
Assalomu alaykum, biz bilan birga bo'lganlarga tashakkur. Demak agar siz bizdan nimadir o'rganayotgan bo'lsangiz xursandmiz, biz endi arraylar bo'yicha misollarni boshlaymiz, bugun yuboriladigan misollar oson, shuning uchun o'rtasidagi vaqtni qisqartiramiz , soat 14 dan boshlab 30 minutlik interval bilan jo'natamiz, harakat qiling, hammasi oson. Marraga oz qoldi!!!
πŸ”₯4
Ikki kunlik javoblar yozilmadi, bugun hamma javoblarni to'ldirib chiqamiz, iltimos o'zingizni yechimngiz bilan taqqoslang, optimal yechimni o'rganing.
πŸ”₯4πŸ‘2
🟩πŸŸ₯Question #15
🟦 Ikkinchi eng katta VA eng kichik elementni toping.Agar ikkala element ham mavjud bo'lmasa -1 return qiling.

input: [1,2,4,7,7,5]
output: Ikkinchi eng katta element: 5
Ikkinchi eng kichik element: 2

Input: [1]
output: Ikkinchi eng katta element: -1
Ikkinchi eng kichik element: -1
Tarif: array bitta elementdan tashkil topgani uchun, u eng katta va eng kichik elemment bo'la oladi, shuning uchun bizda ikkinchi eng katta va eng kichik element mavjud emas.



So'raladi: Time Complexity: O(n)
Space complexity: O(1)

Agar mobodo savol qiyinlik qilsa, internetdan izlab ko'rib javobini ko'rib, algorithmni qanday ishlashini tushunishga harakat qiling va shuni o'zingiz takroran ishlab ko'ring!!!

Commentariyada boshqalar bilan muhokama qiling, juda muhim

-> -> -> [ Javob uchun linklar kun oxirigacha Shu yerga biriktiriladi! ] <- <- <-


@JavaScriptQuiiz
πŸ”₯3⚑1πŸ‘1
🟩πŸŸ₯Question #16
🟦 Saralangan(sorted) arraydan unique bo'lmagan(bittadan ko'p bo'lgan) elementlarni olib tashlang.

input: [1,1,2,2,2,3,3]
output: [1,2,3,]

Input: [1,1,1,2,2,3,3,3,3,4,4]
output: [1,2,3,4,]



So'raladi: Time Complexity: O(n)
Space complexity: O(1)

Agar mobodo savol qiyinlik qilsa, internetdan izlab ko'rib javobini ko'rib, algorithmni qanday ishlashini tushunishga harakat qiling va shuni o'zingiz takroran ishlab ko'ring!!!

Commentariyada boshqalar bilan muhokama qiling, juda muhim

-> -> -> [ Javob uchun linklar kun oxirigacha Shu yerga biriktiriladi! ] <- <- <-


@JavaScriptQuiiz
πŸ”₯2πŸ‘1πŸ‘1
🟩πŸŸ₯Question #17
🟦 Arrayni chapga k marta aylantiring.

input: Arr = [1,2,3,4,5,6,7], k=2
output: [6, 7, 1, 2, 3, 4, 5]

Input:Arr = [3,7,8,9,10,11], k = 3
output: [9, 10, 11, 3, 7, 8]



So'raladi: Time Complexity: O(n)
Space complexity: O(1)

Agar mobodo savol qiyinlik qilsa, internetdan izlab ko'rib javobini ko'rib, algorithmni qanday ishlashini tushunishga harakat qiling va shuni o'zingiz takroran ishlab ko'ring!!!

Commentariyada boshqalar bilan muhokama qiling, juda muhim

-> -> -> [ Javob uchun linklar kun oxirigacha Shu yerga biriktiriladi! ] <- <- <-


@JavaScriptQuiiz
πŸ”₯2⚑1πŸ‘1
🟩πŸŸ₯Question #18
🟦 Arraydagi nollarni orqaga suring {ketma ketlikni saqlagan holda}

input: Arr = [1 ,0 ,2 ,3 ,0 ,4 ,0 ,1]
output: [ 1 ,2 ,3 ,4 ,1 ,0 ,0 ,0]

Input:Arr = [1,2,0,1,0,4,0]
output: [1,2,1,4,0,0,0]



So'raladi: Time Complexity: O(n)
Space complexity: O(1)

Agar mobodo savol qiyinlik qilsa, internetdan izlab ko'rib javobini ko'rib, algorithmni qanday ishlashini tushunishga harakat qiling va shuni o'zingiz takroran ishlab ko'ring!!!

Leetcode dagi shu misol uchun muqobil link : click me

Commentariyada boshqalar bilan muhokama qiling, juda muhim

-> -> -> [ Javob uchun linklar kun oxirigacha Shu yerga biriktiriladi! ] <- <- <-


@JavaScriptQuiiz
πŸ”₯1
🟩πŸŸ₯Question #19
🟦 ikkita sort qilingan arr1 va ar2 berilgan, uzunligi n va m, shu ikkita arraylarni birikmasini qaytaring

input: arr1= [1,2,3,4,5], arr2 = [2,3,4,4,5]
output: [1 ,2 ,3 ,4 ,5]

Input: arr1 = [1,2,3,4,5,6,7,8,9,10], arr2 = [2,3,4,4,5,11,12]
output: [1,2,3,4,5,6,7,8,9,10,11,12]



So'raladi: Time Complexity: O(n+m)
Space complexity: O(n+m)


Hints: Yordam[birinchi o'zingiz urinib ko'ring]
Hint1: elementlar sonini sanashga harakat qiling ko'ring.
Hint2: Setlar haqida bilasizmi, shu ham yaxshi yechim
Hint3: Two pointer's appproach


Agar mobodo savol qiyinlik qilsa, internetdan izlab ko'rib javobini ko'rib, algorithmni qanday ishlashini tushunishga harakat qiling va shuni o'zingiz takroran ishlab ko'ring!!!

Commentariyada boshqalar bilan muhokama qiling, juda muhim

-> -> -> [ Javob uchun linklar kun oxirigacha Shu yerga biriktiriladi! ] <- <- <-


@JavaScriptQuiiz
πŸ”₯1
🟩πŸŸ₯Question #20
🟦 BIzda integer N berilgan , va bizda N-1 uzunlikdangi aray ebrilgan, array 1 dan N gacha bo'lgan sonlardan tashkil topgan, Shunday sonni topingki(1 dan Ngacha), u arrayda mavjud emas.

input: N = 5 , arr = [1,2,4,5]
output: 3

Input: N = 3, arr = [1, 3]
output: 2



So'raladi: Time Complexity: O(N)
Space complexity: O(1)

Agar mobodo savol qiyinlik qilsa, internetdan izlab ko'rib javobini ko'rib, algorithmni qanday ishlashini tushunishga harakat qiling va shuni o'zingiz takroran ishlab ko'ring!!!

Commentariyada boshqalar bilan muhokama qiling, juda muhim

-> -> -> [ Javob uchun linklar kun oxirigacha Shu yerga biriktiriladi! ] <- <- <-


@JavaScriptQuiiz
πŸ”₯1
🟩πŸŸ₯Question #21
🟦 binary(faqat 1 va nollardan tashlik topgan) array berilgan, ketma ket kelgan max 1 lar sonini toping.

input: arr = [1, 1, 0, 1, 1, 1]
output: 3

Input: arr = [1, 0, 1, 1, 0, 1]
output: 2



So'raladi: Time Complexity: O(N)
Space complexity: O(1)

Agar mobodo savol qiyinlik qilsa, internetdan izlab ko'rib javobini ko'rib, algorithmni qanday ishlashini tushunishga harakat qiling va shuni o'zingiz takroran ishlab ko'ring!!!

Leetcode dagi shu misol uchun muqobil link : click me

Commentariyada boshqalar bilan muhokama qiling, juda muhim

-> -> -> [ Javob uchun linklar kun oxirigacha Shu yerga biriktiriladi! ] <- <- <-


@JavaScriptQuiiz
πŸ‘1