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
Masala darajasi: Medium

Title: Remove duplicates:

Bizda array berilgan va elementlari destinct emas, bizdan so'raladi arrayni barcha elementlarini unique qilib qaytarish, space complexity O(1) dan oshirmaslik so'raladi.(Masala kanalizmiz a'zosidan berildi.) Input lar mixed orderda emas


Example 1:
-Input:[1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 6, 6, 6, 7, 7]
-Output:[1,2,3,4,5,6,7]

@JavaScriptQuiiz
#1 Kun
1-savol - Selection sort
2-savol - Bubble sort
3-savol - Insertion sort

#2 Kun
4-savol - Sondagi raqamlar soni
5-savol - Sonni teskarilang
6-savol - palindrom son

#3 kun
7-savol - Armstrong son
8-savol - Sonning bo'luvchilari
9-savol - tub son

#4 kun
Recursion - recursion
10-savol - N natural sonlarni yig'indisi

#5 kun
11-savol - N factorial
12-savol - Arrayni reverse qiling
13-savol - fibbonachi sonlar

#6 kun
14-savol - Merge sort
15-savol - Quick sort
15-savol - Ikkinchi eng katta va eng kichik elementlar
#7 Kun
16-savol - saralangan arrayni 1 tadan ko'p elementlardan tozalang
17-savol - chapga k marta aylantiring.

#8 kun
18-savol - Nollarni orqaga suring
19-savol - union array
20-savol - tushib qolgan elementni toping

#9 kun
21-savol - ketma-ket kelgan eng uzun 1 lar
22-savol - yolg'iz element
23-savol - Yigindi K ga teng bo'lgan eng uzun sub-array(musbat sonlar)

#10 kun
24-savol - yig'indisi k ga teng bo'lgan eng uzun sub-array(musbat va mafiy sonlar)
25-savol - ikki son yig'indisi
26-savol - 0, 1 va 2 larni tartiblang

#11 kun
27-savol - N/2 dan ko'proq uchragan element
28-savol - Kadane algoritmi : Yigindisi Eng katta bo'lgan sub-array
29-savol - Aksiyalarni sotib olish va sotish

#12 kun
30-savol - Ishoralarni tartiblang
31-savol - Keyingi leksikografik jihatdan kattaroq almashtirishni toping
32-savol - Arraydagi yetakchilar

#13 kun
33-savol - Arraydagi eng uzun ketma-ketlik
34-savol - Matritsani nollashtiring

#14 kun
35-savol - Matritsani 90 gradusga aylantiring

#15 kun
36-savol - Matritsada spiral shaklda yuring

#16 kun
37-savol - Yig'indisi k ga teng bo'lag sub arraylar yig'indisini toping.
38-savol - Pascal uchburchagini yaratish

#17 kun
39-savol - Ko'p sonlar(>N/3 times)

#18 kun
40-savol - 3Sum
41-savol - Anogram

@JavaScriptQuiiz
06.01.2025
42-savol - Poll js oid savollar to'plami

07.01.2025
43-savol - Musbat sonlar bilan ishlash

09.01.2025
44-savol - Shaxmat
DSA o'rganish haqida

@JavaScriptQuiiz
πŸ”₯6πŸ‘1
Taklif!

Har kuni 3 da DSA problema yechamiz,
boshidan graph yoki LL Dp qilmaymiz yo'nalishli qilamiz
Deyarli 6 oyda har kuni faol bo'lgan inson DSA boyicha hamma savolda optimal yechim beroladigan bo'ladi,
track boyicha ketadi;

Maqsad o'rganish, peer-programming juda samarali

Har kunlik savollarni leetcode va GeekForGeeks dagi linklari ham berib boriladi, biz bu yerda savolarni iloji boricha o'zbekcha yozamiz lekin linklarni hammasi ingliz tilida bo'ladi .

Savollar kunning uch qismida beriladi O'zbekiston vaqti bilan:
1-savol: 8:00
2-savol: 14:00
3-savol: 20:00

Ushbu programma davomida ishlanadigan misollar soni 450 atrofida shuning uchun 3 ta etib belgiladik, 1- deb iltimos qilganlar bor ekan, agar muntazam ishlab borsangiz qiyin vaqtlar kelganda sizda yetarlicha tushuncha bo'ladi. Agar juda qiyinlik va ko'pliq qilsa vaziyatga qarab ikkita yoki bitta beriladigan kunlar ham bo'ladi. Boshida 3 ta

Biz foydalanadigan Roadmap, bu mutlaq ingliz tilida, biz undan ushbu kanalda o'zbeklar uchun foydalanamiz. Founder
Roadmap:

1. Array
2. BS (Binary Search)
3. LL (Linked List)
4. STR (Strings)
5. Recursion
6. Stack
7. Queue
8. Two Pointers
9. Sliding Window
10. Heap
11. Greedy Algorithms
12. Binary Tree
13. Binary Search Tree
14. Graphs
15. DP (Dynamic Programming)
16. Tries
17. Strings




!!! Biz ham pro emasmiz biz ham sizlar bilan birga o'rganamiz

Track Biz tomondan tuzilmagan, ready roadmapdan foydalanamiz !!!

Main lang: Ts/Js [hamma qo'shilib o'z tilida davom etishi mumkin]

[[track boyicha har bir savol ro'yxati pinda saqlanadi]]

Start:
21.01.2024


Birinchi va ikkichi kun Sortinglar haqida bo'ladi, faqat misol emas o'zingizdan ham ozgina izlanish talab etiladi! Keyin arraylarni boshlaymiz.

Va juda muhim eslatma, har bir misolni yechimini iloji boricha nimadirgadir qayd qilib boring, va har kuni yarim soat oshalarni o'qing, o'zingizda yaxshi effect ko'rishni ishtasangiz shu ishni qiling, negaki faqatgina ishlab o'tib ketish sizga foyda keltirishi mumkin lekin ko'p narsani unutib yuborasiz.


Fikr/mulohazalar uchun comment section ochiq! πŸ‘‡

@JavaScriptQuiiz
πŸ‘4πŸ”₯3
🟩πŸŸ₯Question #1
🟦 Selection sorting algoritm ini 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 selection 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!!!

sort() methoddan foydalanish mumkin emas!!!

Commentariyada boshqalar bilan muhokama qiling, juda muhim


-> -> -> Javoblar <- <- <-
Youtube O'zbekcha || website O'zbekcha || Youtube English || Webpage English || Webpage English


@JavaScriptQuiiz
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ”₯5πŸ‘1πŸ‘1
🟩πŸŸ₯Question #2
🟦 Bubble 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 Bubble 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'zbekcha Youtube || English youtube || English Nazariy || English nazariy


@JavaScriptQuiiz
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ”₯4⚑1πŸ‘1🀯1
🟩πŸŸ₯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