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
let arr = [1, 2, 3];
arr[10] = 42;

console.log(arr.length);
console.log(arr[6]);
let person = {
name: "Alice",
greet: () => {
console.log(`Hello, ${this.name}`);
},
};

person.greet();
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