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
🟩πŸŸ₯Question #3
🟦 Insertion sort algoritmini implement qiling.

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

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


Hint: shu video animatsiyani ko'ring , va Insertion 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

-> -> -> Javoblar <- <- <-
O'zbek nazariy || English video || English nazariy || English nazariy


@JavaScriptQuiiz
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ”₯3πŸ‘2πŸ‘1
Salom hammaga, uzr, yuqoridagi xabarni yangilashga to'g'ri keldi, negaki, sizlarga sortni qolgan qismlarini ishlash uchun boshqalg'ich recursion kerak bo'ladi , shuning uchun boshlang'ich matematik va recursionga doir misollar yechamiz. Ertaga matematik misollar ketma ketligdan boshlaymiz! Hammaga raxmat
πŸ‘Œ6
🟩πŸŸ₯Question #4
🟦 Sondagi raqamlarni sonini toping .

input: N = 12345
output: 5
Tarif: N sonida 5 ta raqam bor

Input: N = 8394
output: 4


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

-> -> -> Javoblar <- <- <-

function countDigits(n) {
let digits = Math.floor(Math.log10(n) + 1);
return digits;
}


@JavaScriptQuiiz
Please open Telegram to view this post
VIEW IN TELEGRAM
Javascriptni orqa fonda nima ishlar qilishi haqida bilasizmi?
Anonymous Poll
40%
Ha
28%
Yo'q
32%
Qiziq
🟩πŸŸ₯Question #5
🟦 Sonni teskarisiga o'giring.

input: N = 123
output: 321
Tarif: 123 ning teskarisi 321

Input: N = 234
output: 432

Input: N = -123
Output: -321



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!!!

Leetcode dagi shu misol uchun muqobil link : click me

Commentariyada boshqalar bilan muhokama qiling, juda muhim

-> -> -> Javoblar <- <- <-

```
/**
* @param {bigint} num
*/
function reverseDigits(num) {
let isNegative = num < 0n;
if (isNegative) {
num = -num;
}

let rev_num = 0n;
let divisor = 10n;

while (num > 0n) {
rev_num = rev_num * divisor + num % divisor;
num = num / divisor;
}

return isNegative ? -rev_num : rev_num;
}

console.log(reverseDigits(-123456789123456789n));
````

yechim : biz nega bigint dan foydalandik, chunki commentda 18 xonali sonda biz kutgan sonni chiqarmayapti deyishdi, shunking uchun men bigint bilan bo'lgan yechimni ulashdim, nega deganda, bigint asosan manashu rangedan katta katta kichik bo'lgan sonlar bilan ishlatiladi, 18 xonali sonlar esa bu range dan tashqairda:
-(2 ** 53 - 1) <= x <= 2 ** 53 - 1



@JavaScriptQuiiz
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ‘4πŸ”₯1πŸ‘Œ1
🟩πŸŸ₯Question #6
🟦 Sonni palindrom son ekanligini tekshiring. Son palindrom bo'lishi uchun o'ngdan ham chapdan ham bir xil o'qilishi kerak.
Agar palindrom bo'lsa true, aks holda false qaytaring.


input: N = 123
output: False
Tarif: 123 palindrom emas. teskarisi 321 ular bir xil o'qilmaydi.

Input: N = 121
output: true
Tarif: 121 ning teskarisi 121 yani ular bir xil o'qiladi.

Input: N = -111
Output: false


Beriluvchi sonning o'lchami:
-2^31 <= N <= 2^31 - 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!!!

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
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ”₯2
Yuqoridagi savollarga yechim linklari yoki javoblari to'ldirildi, feedback lar bo'lsa comment section ochiq!
πŸ”₯3πŸ‘Œ2πŸ‘1
🟩πŸŸ₯Question #7
🟦 Armstrong son ekanligini tekshiring.
Agar armstrong bo'lsa true, aks holda false qaytaring.

input: N = 153
output: True
Tarif: 1^3 + 5^3 + 3^3 = 153, 3 berilgan sonning uzunligi

Input: N = 170
output: false
Tarif: 1^3 + 7^3 + 0^3 != 170



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!!!

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
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ”₯2
🟩πŸŸ₯Question #8
🟦 Sonning barcha bo'luvchilarini chiqaring

input: N = 36
output: 1 2 3 4 6 9 12 18 36
Tarif: barcha bo'luchilari chiqarildi

Input: N = 97
output: 1 97
Tarif: 97 tub son shuning uchun unda ikki dona bo'luvchisi bor



Kutilgan Time complexity: O(sqrt(n))
Kutilgan Space complexity: O(sqrt(n))


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!!!

Geekforgeeksdagi shu misol uchun muqobil link : click me


Commentariyada boshqalar bilan muhokama qiling, juda muhim

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


@JavaScriptQuiiz
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ”₯2πŸ‘1🀯1
🟩πŸŸ₯Question #9
🟦 Sonning tub son ekanligini tekshiring. Tub son bu shunday sonki uning bo'luvchilar soni ikkita uning o'zi va 1.

input: N = 2
output: 1
Tarif: barcha bo'luchilari chiqarildi

Input: N = 7
output: 1
Tarif: 7 tub son

Input: N = 25
output: 0
Tarif: 25 tub son emas


Kutilgan Time complexity: O(sqrt(n))
Kutilgan Space complexity: O(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!!!

Geekforgeeksdagi shu misol uchun muqobil link : click me

Commentariyada boshqalar bilan muhokama qiling, juda muhim


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


@JavaScriptQuiiz
πŸ”₯3
#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