Leetcode
Oxirgi vaqtlarda ishdan ortib qolgan vaqtimni asosan leetcodega sarf qilyapman. Shuning hisobiga sevimli mobx haqida postlar bo'lmayapti. Nihoyat algoritmlar bo'yicha bilimlarni biroz bo'lsa ham ko'tarib olishga qaror qildim.
Bugun ishlangan masalalar soni 400 ga yetdi. Tabiiy bularni hammasini o'zim bittada ishlamaganman. Ba'zilarini
Solutionlarni shu yerga joylab boryapman.
#leetcode
@elyor_dev
Oxirgi vaqtlarda ishdan ortib qolgan vaqtimni asosan leetcodega sarf qilyapman. Shuning hisobiga sevimli mobx haqida postlar bo'lmayapti. Nihoyat algoritmlar bo'yicha bilimlarni biroz bo'lsa ham ko'tarib olishga qaror qildim.
Bugun ishlangan masalalar soni 400 ga yetdi. Tabiiy bularni hammasini o'zim bittada ishlamaganman. Ba'zilarini
solutions bo'limidan ko'rib keyin ishlaganman. Umuman olganda masalalarni yechishdagi asosiy qoidam hozircha "Bitta masalaga maksimum 1 soat" bo'lib turibdi. Solutionlarni shu yerga joylab boryapman.
#leetcode
@elyor_dev
👍5🔥1
elyor.dev
https://www.geeksforgeeks.org/window-sliding-technique/
Sliding Window Algorithm Technique
Ancha qiziq va joyida ancha effective (brute force O(n^2) yoki O(n^3) -> window sliding O(n)) bo'lgan texnika ekan. O'qib ko'rishni maslahat beraman.
https://itnext.io/sliding-window-algorithm-technique-6001d5fbe8b3
@elyor_dev
Ancha qiziq va joyida ancha effective (brute force O(n^2) yoki O(n^3) -> window sliding O(n)) bo'lgan texnika ekan. O'qib ko'rishni maslahat beraman.
https://itnext.io/sliding-window-algorithm-technique-6001d5fbe8b3
@elyor_dev
👍4
TLE
Bunaqa test'larni tuzgan "birad"lar bilan uchrashib qolsam "от души" qo'lini siqib qo'yar edim 🤯
#thoughts #leetcode
@elyor_dev
Bunaqa test'larni tuzgan "birad"lar bilan uchrashib qolsam "от души" qo'lini siqib qo'yar edim 🤯
#thoughts #leetcode
@elyor_dev
👍2
Forwarded from Ayyubxon Fargʻoniy | 0.1x engineer (Ayyubxon)
Qanday outsource companylarni bilasiz?
Oʻzbekistonda faoliyat yuritishi shart emas.
Bilganlarimni yozib qoʻyaman, commentda davom ettirishingiz mumkin, bu boshqalar uchun ham foydali boʻladi:
1. Oxagile
2. Epam
3. Exadel
4. Vention
5. Applied labs
Oʻzbekistonda faoliyat yuritishi shart emas.
Bilganlarimni yozib qoʻyaman, commentda davom ettirishingiz mumkin, bu boshqalar uchun ham foydali boʻladi:
1. Oxagile
2. Epam
3. Exadel
4. Vention
5. Applied labs
👍6
Forwarded from Azim Pulat
Algoritmlarni O'rganish Uchun Eng Yaxshi Kitoblar
1. Grokking Algorithms kitobi boshlovchilar uchun eng yaxshi kitob. Har bir algoritmlarni tushuntirish uchun rasmlar keltirilgan va ko'p mavzular yoritib berilgan.
2. Cracking the Coding Interview kitobi texnik intervyuga tayyorlanishda eng yaxshi qo'llanma hisoblanadi. Nafaqat algoritmik savollar, balki system design va behavioural intervyularni ham yoritib bergan.
3. Algorithm Design Manual kitobida algoritmlar ancha chuqurroq yoritilgan va algoritmlarni matematik tahlil qiladi. Tepadagi 2ta kitobdan so'ng o'qishni maslahat beraman.
1. Grokking Algorithms kitobi boshlovchilar uchun eng yaxshi kitob. Har bir algoritmlarni tushuntirish uchun rasmlar keltirilgan va ko'p mavzular yoritib berilgan.
2. Cracking the Coding Interview kitobi texnik intervyuga tayyorlanishda eng yaxshi qo'llanma hisoblanadi. Nafaqat algoritmik savollar, balki system design va behavioural intervyularni ham yoritib bergan.
3. Algorithm Design Manual kitobida algoritmlar ancha chuqurroq yoritilgan va algoritmlarni matematik tahlil qiladi. Tepadagi 2ta kitobdan so'ng o'qishni maslahat beraman.
👍6
Selection Sort
Sorting algoritmlaridan biri, Effectiveligi past (O(n^2)), lekin tushunishga oson algoritm.
Batafsil o'qish
#selection_sort #algorithm
@elyor_dev
Sorting algoritmlaridan biri, Effectiveligi past (O(n^2)), lekin tushunishga oson algoritm.
Batafsil o'qish
#selection_sort #algorithm
@elyor_dev
👍3
Quick sort
Quick sort (tez tartiblash) algoritmi. Bajarilish vaqti O(n * logn)
Batafsil
#quick_sort #algorithm
@elyor_dev
Quick sort (tez tartiblash) algoritmi. Bajarilish vaqti O(n * logn)
Batafsil
#quick_sort #algorithm
@elyor_dev
⚡4👍1
Leetcode 2023
Leetcodeda problems qismida
#leetcode #2023
@elyor_dev
Leetcodeda problems qismida
View Memories kartochkasi qo'shilibdi. 2023 yildagi statistikani ko'rsa bo'lar ekan. Share qilish ham mumkin. #leetcode #2023
@elyor_dev
🔥6
Grokking algorithms
Yuqoridagi [Selection Sort, Recursion, Quick Sort ] postlar "Grokking algorithms" kitobidan olingan. Hozirda ushbu kitobni o'qib chiqyapman. Kitob algoritmlarni boshlovchilar uchun ayni muddao. Nasib bo'lsa har bir bo'limidan ayni kerakli joylarini post qilib chiqaraman. Agar sizga ham qiziq bo'lsa, qo'shiling, kitobni birgalikda ko'rib chiqamiz.
Share qilganlar qattiq qadrlanadi
#grokking_algorithms
@elyor_dev
Yuqoridagi [Selection Sort, Recursion, Quick Sort ] postlar "Grokking algorithms" kitobidan olingan. Hozirda ushbu kitobni o'qib chiqyapman. Kitob algoritmlarni boshlovchilar uchun ayni muddao. Nasib bo'lsa har bir bo'limidan ayni kerakli joylarini post qilib chiqaraman. Agar sizga ham qiziq bo'lsa, qo'shiling, kitobni birgalikda ko'rib chiqamiz.
Share qilganlar qattiq qadrlanadi
#grokking_algorithms
@elyor_dev
⚡2
Merge Sort
Merge sort algoritmi. O'zbekcha nomlanishini bilolmadim. Qisqa qilib aytganda massivni oldin bo'laklarga bo'lib chiqamiz so'ng ularni birlashtirib (merge) chiqamiz. Birlashtirishda massiv elementlari solishtirilib tartiblanadi.
Batafsil
#merge_sort #algorithms
@elyor_dev
Merge sort algoritmi. O'zbekcha nomlanishini bilolmadim. Qisqa qilib aytganda massivni oldin bo'laklarga bo'lib chiqamiz so'ng ularni birlashtirib (merge) chiqamiz. Birlashtirishda massiv elementlari solishtirilib tartiblanadi.
Batafsil
#merge_sort #algorithms
@elyor_dev
👍3
Hash table
Hash table bu — key:value juftligidagi datalarni saqlash uchun yordam beradigan / xizmat qiladigan data strukturalardan biri.
Javanoscriptda uni implementatsiyasi uchun objectlar yoki Map constructori bor.
// Object
// Map
Agar kimdir o'zining shaxsiy Hash table implementatsiyasini qilib ko'rishni xohlasa, mana bu yerda batafsil keltirilgan.
Rasmda esa Hash tabledan foydalanilganda olinadigan big O-notationlar berilgan.
Amaliyotda hash tabledan juda ko'p foydalaniladi.
#hash_table #map #data_structure #algorithms
@elyor_dev
Hash table bu — key:value juftligidagi datalarni saqlash uchun yordam beradigan / xizmat qiladigan data strukturalardan biri.
Javanoscriptda uni implementatsiyasi uchun objectlar yoki Map constructori bor.
// Object
const hash: Record<string, number> = {}
hash['Javanoscript'] = 0
hash['Typenoscript'] = 1
console.log(hash['Javanoscript']) // 0
console.log(hash['Tavanoscript']) // 0// Map
const hash = new Map<string, number>()
hash.set('js', 0)
hash.set('ts', 1)
console.log(hash.get('js')) // 0
hash.delete('js')
console.log(hash.get('js')) // undefined
Agar kimdir o'zining shaxsiy Hash table implementatsiyasini qilib ko'rishni xohlasa, mana bu yerda batafsil keltirilgan.
Rasmda esa Hash tabledan foydalanilganda olinadigan big O-notationlar berilgan.
Amaliyotda hash tabledan juda ko'p foydalaniladi.
#hash_table #map #data_structure #algorithms
@elyor_dev
🔥2
Graphlar
Graph ham data structurelardan biri bo'lib, u bir necha obyektlar o'rtasidagi bog'liqliklarni modellashtiradi.
Masalan yuqoridagi rasmda, aytaylik shahardagi bor bekatlar tasvirlangan. Har bir harf alohida bir bekat. Shunda A bekatdan C bekatga olib boruvchi barcha yo'llar birlashmasini graphlar der ekanmiz.
Graphlar
Graphlarni amaliyotda A nuqtadan B nuqtaga borish uchun barcha yo'llarni topish uchun ishlatsak bo'ladi, xuddi Yandex Map mavjud yo'llarni qurib bergandagi kabi, yoki shashkada yutuqga olib boradigan yo'llarni modellashtirishda ham (Shu misolni kitobdan o'qidim, aynan qanday qilinadi bundan hozircha xabarim yo'q).
#graph #data_structure #algorithm
@elyor_dev
Graph ham data structurelardan biri bo'lib, u bir necha obyektlar o'rtasidagi bog'liqliklarni modellashtiradi.
Masalan yuqoridagi rasmda, aytaylik shahardagi bor bekatlar tasvirlangan. Har bir harf alohida bir bekat. Shunda A bekatdan C bekatga olib boruvchi barcha yo'llar birlashmasini graphlar der ekanmiz.
Graphlar
nodes (tugunlar) va edge (qirra) dan tashkil topgan. Bitta tugun qolgan bir nechta tugunlar bilan to'g'ridan to'g'ri bog'liq bo'lishi mumkin. Rasmdagi E tugun A, B, D tugunlar bilan to'g'ridan to'g'ri bog'langan, va ular E bilan qo'shni . Graphlarni amaliyotda A nuqtadan B nuqtaga borish uchun barcha yo'llarni topish uchun ishlatsak bo'ladi, xuddi Yandex Map mavjud yo'llarni qurib bergandagi kabi, yoki shashkada yutuqga olib boradigan yo'llarni modellashtirishda ham (Shu misolni kitobdan o'qidim, aynan qanday qilinadi bundan hozircha xabarim yo'q).
#graph #data_structure #algorithm
@elyor_dev
👍4
Binary Search
Binary search bu
Taqqoslash uchun biz bilgan linear search (shunchaki massiv boshidan oxirigacha siklda yurib chiqish) tezligi
Aytaylik bizda 4 milliard tartiblangan sonlardan iborat massiv bor. Va ular ichidan berilgan sonning indeksini topishimiz kerak. Va aytaylik shu son massiv oxirida joylashgan ekan (Bu eng yomon holat).
Oddiy linear searchda sikl 4 milliard marta bajarilar edi. Binary Search bilan esa maksimum 32 ta qadamda biz kerakli natijani topa olamiz. 4 milliard vs 32.
Nega 32? Sababi log(4 000 000 000) <= 32.
Logarifm esidan chiqib qolganlar uchun, logarifm sonning teskari darajasi. Masalan: 2^3 = 8 ekvivalent log2(8) = 3
Note: Binary Search bilan ishlay olishlik uchun berilgan massiv albatta tartiblangan bo'lishi kerak.
#binary_search #algorithm
@elyor_dev
Binary search bu
tartiblangan massivda biron bir qiymatni topishlikda juda effektiv bo'lgan search algoritmlaridan biri. Bajarish tezligi - O(logn).Taqqoslash uchun biz bilgan linear search (shunchaki massiv boshidan oxirigacha siklda yurib chiqish) tezligi
O(n). 1000 ta element va eng yomon holatda 1000 ta amal.Aytaylik bizda 4 milliard tartiblangan sonlardan iborat massiv bor. Va ular ichidan berilgan sonning indeksini topishimiz kerak. Va aytaylik shu son massiv oxirida joylashgan ekan (Bu eng yomon holat).
Oddiy linear searchda sikl 4 milliard marta bajarilar edi. Binary Search bilan esa maksimum 32 ta qadamda biz kerakli natijani topa olamiz. 4 milliard vs 32.
Nega 32? Sababi log(4 000 000 000) <= 32.
Logarifm esidan chiqib qolganlar uchun, logarifm sonning teskari darajasi. Masalan: 2^3 = 8 ekvivalent log2(8) = 3
Note: Binary Search bilan ishlay olishlik uchun berilgan massiv albatta tartiblangan bo'lishi kerak.
#binary_search #algorithm
@elyor_dev
👍2⚡1
elyor.dev
Leetcode Oxirgi vaqtlarda ishdan ortib qolgan vaqtimni asosan leetcodega sarf qilyapman. Shuning hisobiga sevimli mobx haqida postlar bo'lmayapti. Nihoyat algoritmlar bo'yicha bilimlarni biroz bo'lsa ham ko'tarib olishga qaror qildim. Bugun ishlangan masalalar…
Leetcode
Bugun leetcodeda ishlangan masalalar soni 500 ga yetdi. Deyarli 1 oy oldin 400 ga yetdi deb post qilgan ekanman.
Qaysidir qismidan boshlab ishlangan masalalarni githubga joylash g'oyasi kelib qolgandi. Yechimlarni shu yerda ko'rish mumkin.
Leetcode profilim
#leetcode #500
@elyor_dev
Bugun leetcodeda ishlangan masalalar soni 500 ga yetdi. Deyarli 1 oy oldin 400 ga yetdi deb post qilgan ekanman.
Qaysidir qismidan boshlab ishlangan masalalarni githubga joylash g'oyasi kelib qolgandi. Yechimlarni shu yerda ko'rish mumkin.
Leetcode profilim
#leetcode #500
@elyor_dev
👍6