JavaScript || DSA
324 subscribers
10 photos
1 file
68 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
Forwarded from content
console.log(1);

setTimeout(() => {
console.log(2);
}, 0);

Promise.resolve().then(() => {
console.log(3);
});

console.log(4);

setTimeout(() => {
console.log(5);
}, 0);
Forwarded from content
let x = 1;

function outer() {
let x = 2;

function inner() {
console.log(x);
}

return inner;
}

const func = outer();
func();
console.log(1);
setTimeout(() => console.log(2), 0);
Promise.resolve().then(() => console.log(3));
console.log(4);
Kim nechtasini topdi ?
Anonymous Poll
22%
5 ~ 7
31%
7 ~ 9
19%
9 ~ 11
28%
11 ~ 13
👍1
Sizga bitta sonlar ro‘yxati berilgan. Bu ro‘yxatda faqat musbat sonlar va nol bo‘lishi mumkin. Sizning vazifangiz quyidagicha:

1-Har bir sondan keyingi musbat sonlar yig‘indisini topib, yangi ro‘yxat hosil qiling. Agar sondan keyin musbat son bo‘lmasa, uning o‘rniga null yozilsin.

2-Yangi ro‘yxatni consolega chiqarish kerak.

Shartlar va cheklovlar:
~Faqat musbat sonlar va nol bilan ishlaysiz (manfiy sonlar yo‘q).
~Dastur optimal ishlashi kerak.
~Ro‘yxat kamida bitta elementdan iborat bo‘ladi.

input: let numbers = [3, 0, 2, 7, 0, 1, 0];
output: // [10, 10, 8, 1, null, null, null]


@JavaScriptQuiiz
👍6🔥2
Assalomu alaykum, kanalda ko'plab premium obunchilar bor ekan, kanalga boost bosinglar, qiziqarli videolar joylab boramiz.

https://t.iss.one/boost/JavaScriptQuiiz
5👍3
N-queens muammosi n x n shaxmat doskasida n ta shohni joylashtirish masalasidir, bunda biror bir shoh boshqa bir shohga hujum qilmasligi kerak.

Sizga butun son n berilgan. Ushbu muammo uchun barcha yechimlarni toping va qaytaring. Javoblarni istalgan tartibda qaytarishingiz mumkin.

Har bir yechim shohlarning joylashuvini ko'rsatadigan o'ziga xos doska konfiguratsiyasidan iborat bo'ladi, bu erda 'Q' harfi shohni, '.' esa bo'sh joyni bildiradi.

Example 1(+rasm):
Input: n = 4
Output: [[".Q..","...Q","Q...","..Q."],["..Q.","Q...","...Q",".Q.."]]

Explanation: 4-queens muammosiga ikkita o'ziga xos yechim mavjud, yuqorida ko'rsatilganidek.


Example 2:
Input: n = 1
Output: [["Q"]]


Agar savolda qiynalsangiz research qilib ko'ring, commentda active bo'ling.

@JavaScriptQuiiz
10
DSA (Data Structures and Algorithms) ni o'rganish uchun 5 ta qadam:

1-qadam:
Birinchi navbatda biror dasturlash tilini o'rganish lozim. Misol uchun: Java, C++, JavaScript, Python. Ushbu tillar algoritm va ma'lumotlar tuzilmalari bilan ishlash uchun mos keladi.

2-qadam:
Time Complexity va Space Complexity tushunchalarini o'rganish zarur. Bu algoritmning samaradorligini baholashda muhim rol o'ynaydi.


3-qadam:
Ma'lumotlar tuzilmalari (Data Structures) va algoritmlar (Algorithms) bilan tanishish:

Data Structures: Array, String, Linked List, Stack, Queue, Tree, Graph.

Algorithms: Searching, Sorting, Divide & Conquer, Hashing, Greedy, Recursion, Backtracking, Tree & Graph Traversal, Dynamic Programming.


4-qadam:
Data Structures va algoritmlarni amalda qo‘llab ko‘rish.
Amaliyot qilish uchun tavsiya etilgan manbalar: LeetCode, CodeChef, Codeforces, HackerRank, GeeksforGeeks.

5-qadam:

DSA bo‘yicha bilim va mahoratingizni oshirish uchun turli xil manbalar yoki onlayn musobaqalarda ishtirok eting.

Musobaqalar uchun foydali saytlar: TopCoder, HackerRank, CodeChef, LeetCode, Codeforces.

Agar masalalarni ishlashda qiyinchilikka duch kelsangiz yoki DSA ni o'rganmoqchi bo‘lsangiz, yuqorida sanab o'tilgan 5 qadamni qo'llab ko'ring. Bu bosqichlar sizga jarayonni osonlashtiradi va natijada samarali o‘rganishingizga yordam beradi.


@JavaScriptQuiiz
9
Binary Search qachon ishlatilishi kerak?

Binary Searchsamarali qidiruv algoritmi bo‘lib, massiv yoki ro‘yxatdan ma’lumotlarni topishda ishlatiladi. Ushbu algoritm O(log n) vaqt murakkabligiga ega va bu uni tezkor qiladi. Ammo Binary Searchni ishlatishdan oldin quyidagi shartlarni tekshirish lozim:

1. Ma'lumotlar tartiblangan bo‘lishi kerak.
*Binary Search faqat o‘suvchi yoki kamayuvchi tartibda joylashtirilgan ma'lumotlar ustida ishlaydi. Agar massiv yoki ro‘yxat tartibsiz bo‘lsa, avval uni saralash zarur.

Masalan:
[2, 4, 6, 8, 10, 12] – To‘g‘ri
[8, 3, 10, 1, 6] – Noto‘g‘ri (saralash talab qilinadi)


2. Qidiruvni samarali qilish kerak bo‘lganda
*Oddiy qidiruv algoritmlari (masalan, Linear Search) O(n) vaqt oladi, bu katta hajmdagi ma'lumotlar uchun sekin ishlaydi. Binary Search esa massivni har safar yarmiga ajratib, qidiruvni ancha tezlashtiradi.

Qachon kerak bo‘ladi?

*Juda katta hajmdagi ma’lumotlar bo‘lganda.
*Qidiruvni imkon qadar tez tugatish kerak bo‘lganda.

3. To‘g‘ri indekslashni talab qiluvchi holatlar
*Binary Search massiv yoki ro‘yxat elementlariga indeks orqali kirishni talab qiladi. Bu qidiruv ma’lumotlar tuzilmasida Random Access (tasodifiy kirish) imkoniyati mavjud bo‘lganda ishlaydi.

Masalan:
Array: To‘g‘ri
Linked List: Noto‘g‘ri (Tasodifiy kirish imkoni yo‘q)


Binary Search qayerda ishlatiladi?

1. Numerik ma’lumotlar bilan ishlash: Masalan, o‘zgaruvchilarni o‘zaro solishtirish.
2. Katta hajmdagi ro‘yxatlarda qidiruv: Masalan, telefon raqamlar yoki boshqa turdagi ma’lumotlarni.
3. Ilovalar va xizmatlar.

*Shuningdek Binary Search intervyularda tez-tez so‘raladigan mashhur algoritmdir. Uni chuqur tushunish muhim

Xulosa.
Binary Search juda samarali va tezkor, lekin uni ishlatishdan oldin:

1. Massiv tartiblangan bo‘lishi kerak.
2. Tasodifiy kirish imkoniyati bo‘lishi shart.
3. Muammo uchun haqiqatan ham samaradorlik kerak bo‘lsa, foydalaning.

Binary Searchni to‘g‘ri ishlatish orqali ko‘plab qidiruv muammolarini samarali hal qilishingiz mumkin!


@JavaScriptQuiiz
👍12👏2
N ta sonning faktorialini toping

🛑Misol:
Input: N = 5
Output: 120
Tarif: 5! = 5 * 4 * 3 * 2 * 1

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

Maslahatlar:

🌐Agar savol qiyinlik qilsa, internetdan izlab ko'ring, qanday ishlashini tushunib oling va o'zingiz qayta ishlab ko'ring!

🔄 Iterativ va rekursiv yo'llarda ishlab ko'ring va javoblaringizni commentlarda muhokama qiling!

💬 Muhokama qiling! Bu juda muhim!

@JavaScriptQuiiz
🔥5👍1
Sonni teskarisiga o'giring❗️

🛑Misol:
input: N = 123
output: 321
Tarif: 123 ning teskarisi 321.

Input: N = 234
output: 432.

Input: N = -123
Output: -321.

⚡️ Maslahatlar:

🌐Agar savol qiyinlik qilsa, internetdan izlab ko'ring, qanday ishlashini tushunib oling va o'zingiz qayta ishlab ko'ring!

💬 Muhokama qiling! Bu juda muhim!

@JavaScriptQuiiz
👍8
Linear Searchni qachon ishlatish kerak?

🔍Linear Search – eng oddiy va asosiy qidiruv algoritmlaridan biri bo‘lib, massiv yoki ro‘yxatdagi har bir elementni ketma-ket tekshirish orqali ma’lum bir qiymatni qidiradi. Bu algoritm O(N) vaqt murakkabligiga ega bo‘lib, kichik hajmdagi yoki tartiblanmagan ma’lumotlar bilan ishlash uchun qulaydir.

Lekin har bir algoritm ma’lum bir vaziyatlarda samarali bo‘ladi. Quyida Linear Searchni qachon ishlatish kerakligini ko‘rib chiqamiz:

🧑‍💻 1. Ma’lumotlar tartibsiz bo‘lganda
*Agar massiv yoki ro‘yxat tartiblanmagan bo‘lsa va uni tartibga keltirish imkoniyati yoki zarurati bo‘lmasa, Linear Search eng oddiy va to‘g‘ri tanlov bo‘ladi.

Masalan:
arr = [5, 2, 9, 1, 7] kabi massivda ma’lumotni tezda topish uchun Linear Search ishlatish mumkin.


📊 2. Ma’lumot hajmi kichik bo‘lganda

*Kichik hajmdagi massivlar uchun Linear Searchning O(N) murakkabligi muammo tug‘dirmaydi. Bu oddiy va tezkor algoritm bo‘lgani uchun uni qo‘llash oson.

Masalan:
arr = [10, 20, 30, 40] kabi 10-20 ta elementdan iborat massivlarda qidiruvni Linear Search orqali amalga oshirsa bo‘ladi.


📂 3. Ma’lumotlar strukturasida tasodifiy kirish yo‘q bo‘lganda
*Masalan, Linked List kabi ma’lumotlar tuzilmalari tasodifiy kirishni (random access) qo‘llab-quvvatlamaydi. Bunday hollarda Linear Search yagona samarali usul bo‘lishi mumkin.

Masalan:
Linked List = [3 -> 7 -> 8 -> 12]


📝4. Qidirilayotgan elementning o‘rnini oldindan bilish qiyin bo‘lsa
*Agar siz izlayotgan element massivning biror joyida tartibsiz ravishda joylashgan bo‘lsa va boshqa usullardan foydalanib uning joylashuvini aniqlashning imkoni bo‘lmasa, Linear Searchdan foydalanish oson.

⌨️5. Saralash talab qilinmasa
*Saralash algoritmlari (masalan, Bubble Sort, Quick Sort) vaqt va resurs talab qiladi. Agar massivni saralashdan ko‘ra tezkor qidiruv zarur bo‘lsa, Linear Search eng yaxshi tanlovdir.

🚫Linear Searchni qachon ishlatmaslik kerak?
1
-Agar massiv katta bo‘lsa va tartiblangan bo‘lsa, Binary Search samaraliroq.
2
-Real vaqt rejimida tezkor qidiruv talab qilinsa, hash-based strukturalar (HashMap) ishlatiladi.

🌟 Xulosa Linear Search:
*Kichik hajmdagi va tartiblanmagan ma’lumotlar uchun eng oddiy va samarali.
*Qo‘llanishi oson va dasturchidan katta bilim talab qilmaydi.
*Lekin katta ma’lumotlar yoki tartiblangan massivlarda samaradorlikni oshirish uchun boshqa algoritmlar ko‘rib chiqilishi kerak.

🎯Linear Search – oddiy muammolar uchun mukammal yechim!


@JavaScriptQuiiz
👍13🔥4👏1
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 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

@JavaScriptQuiiz
👍5
IT sohasidagi karyera haqida hamma narsa: Jizzaxda IT Roadshow doirasida uchrashuv bo‘lib o‘tadi

IT Community Roadshow doirasida mamlakatning yetakchi IT-kompaniyalari ekspertlari yosh mutaxassislarga IT olamida birinchi qadamlarni qo‘yishda yordam beradilar.

Tadbir 26-yanvar kuni soat 11:00 dan 17:00 gacha Jizzax Cyber Arenada (Zargarlik MFY, Sharof Rashidov ko‘chasi, 88A) bo‘lib o‘tadi. Roadshowda mamlakatimizning yetakchi kompaniyalari IT-ekspertlari so‘zga chiqib, quyidagilar haqida ma’lumot berishadi

● IT sohasida karyera qurish
● Professional brend yaratish
● Startaplarni ishga tushirish.

Shuningdek, netvorking-sessiyalar davomida talabalar va o‘quvchilar foydali tanishlar orttirishlari va boshlovchi mutaxassislar uchun aktual masalalarni muhokama qilishlari mumkin bo‘ladi.

Ishtirok etish bepul! Ro‘yxatdan o‘tish uchun Telegram-botga o‘tish kifoya: https://t.iss.one/itcomuzbot.

Roadshow IT Community of Uzbekistan, Uzum ekotizimi, UZINFOCOM, School 21, IT Park, Women in Tech xalqaro assotsiatsiyasi ko‘magida o‘tkazilmoqda.


Ichimizda Jizzaxliklar bormi ? Kelinglar o'zim ham shu yerda bo'laman.

@JavaScriptQuiiz
👍8
Ishoralarni tartiblang

NOTE: Bizda Array berilgan va u teng qiymatdagi musbat va manfiy sonlardan tashkil topgan. Musbat va manfiy elementlarning nisbiy tartibini o'zgartirmasdan, siz navbatma-navbat musbat va manfiy qiymatlar qatorini qaytarishingiz kerak.

Input: ARR = [1,2,-4,-5]
output: [1, -4, 2, -5]

Input: ARR = [1,2,-3,-1,-2, 3]
Output: [1, -3, 2, -1, 3, -2]


Agar savol qiyinlik qilsa, internetdan izlab ko'ring, 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 qilling, juda muhim.

@JavaScriptQuiiz
👍6
Uzur so'rayman kanalni active ushlab turmaganim uchun, kanal uchun yangi planlar tuzuldi, endi kanalni active ushlab turamiz.

Sizlardam bitta iltimos/talabim bor ,iloji boricha hamma postlarga reaksiya bosing va izoh yozing.
👍14