Bugun Anvar aka bilan biroz suhbat qildik. Suniy intelect va uning kelajakdagi urni. Suniy intelect -yaqin kelajakda barcha sohalarni egallashni boshlaydi. Bu inson tarraqiyotining yangi bosqichi degani albatta barcha dasturchilar ham shunga tayyor bulishi kerek. Oliy matematikani qattiqroq ushlilar
π₯12β€4π4β‘1
https://youtu.be/FgUmYEEvduM
#Binary_Pow
#Robocontest B-daraja 0841 Masala
Binary pow-Yane tez darajaga oshirish algoritmi. Bu algoritm O(log(n)) asosida ishlaydi
Bu degani 2 ning 10^18 -40 ta amalda bajariladi.
O'zingizni sinab ko'rish uchun masalalar
LeetCode 372.Super Pow (Medium)
Robocontest EKUB - 1 (30%)
#Binary_Pow
#Robocontest B-daraja 0841 Masala
Binary pow-Yane tez darajaga oshirish algoritmi. Bu algoritm O(log(n)) asosida ishlaydi
Bu degani 2 ning 10^18 -40 ta amalda bajariladi.
O'zingizni sinab ko'rish uchun masalalar
LeetCode 372.Super Pow (Medium)
Robocontest EKUB - 1 (30%)
YouTube
#Algoritmlar 03|Binary Pow #robocontest #0841 B-daraja
Vedioda Binar pow yordamida juda tez darajani topish algoritmi keltirilgan. Albatta yaqin dasturchi do'stlaringizga ulashing. Telegram tarmogidagi Algo Expert kanaliga azo bo'lishni unutmang
#binarysearch #Binar_pow #algorithm #robocontest
#binarysearch #Binar_pow #algorithm #robocontest
π₯6β€2β‘1
Algo Vision pinned Β«https://youtu.be/FgUmYEEvduM #Binary_Pow #Robocontest B-daraja 0841 Masala Binary pow-Yane tez darajaga oshirish algoritmi. Bu algoritm O(log(n)) asosida ishlaydi Bu degani 2 ning 10^18 -40 ta amalda bajariladi. O'zingizni sinab ko'rish uchun masalalar LeetCodeβ¦Β»
secret_ans.png
427.3 KB
#Interview_Cyber_Algorithm
Yuqorida Tanasida sirli xabar mavjud bo'lgan rasm berilgan. Shifrlash Kalidli shifrlash bo'lgani uchun uning kalidi qo'yidagicha
w6BA8-πHI_Ig7q09k8SrcdQmiFfiπ³woXWaPTβοΈqccπnM=
Lekin kaliddagi bazi harflar urniga Smillar tushib qolgan?
Sizning vazifangiz smile lar urnida lotin alifbosining katta harflari kelishini bilgan holda yuqoridagi rasmda qanday xabar shifrlanganini topa olish
O'zilarni jiddiyoq muammoda sinab ko'rilar
|Algo Expert|Algo Expert|
Yuqorida Tanasida sirli xabar mavjud bo'lgan rasm berilgan. Shifrlash Kalidli shifrlash bo'lgani uchun uning kalidi qo'yidagicha
w6BA8-πHI_Ig7q09k8SrcdQmiFfiπ³woXWaPTβοΈqccπnM=
Lekin kaliddagi bazi harflar urniga Smillar tushib qolgan?
Sizning vazifangiz smile lar urnida lotin alifbosining katta harflari kelishini bilgan holda yuqoridagi rasmda qanday xabar shifrlanganini topa olish
O'zilarni jiddiyoq muammoda sinab ko'rilar
|Algo Expert|Algo Expert|
β€4β‘2
Algo Vision
#Algorithm Oddiy vaksina(virusga qarshi dori) lardan tashkil topgan 1000 dona proberka bor. Afsuski ularning biriga 1-tomchi zahar tushib qoldi. Lekin qaysi biridaligi aniq emas. Bu zahar shunchalikham kuchliki agar u inson tanasiga tushsa uni tezda nobudβ¦
Yechim.
Deepth Bits-Bitlarning Chuqurligi (Boshqacha tarjimasi busa izohda qoldirilar)
Demak bizda 1000 ta proberka bor.
1000 sonini 2-lik sanoq tizimiga ugirsak
1111101000 ni olamiz. Agar proberkalarni nomerlab chiqsak 10-ta raqamli shu sonni olamiz
Demak 1000 sonining Deepth Bits i 10 ga teng. Bizda esa 10 ta sichqon bor.
Proberkalarni ikkilik kurinishda nomerlab chiqami
Keyin har bir proberkadan proberka kodida 1 busa usha kletkadagi sichqonga 1-tomchi dori berib chiqamiz
Masalan
Kechga kelib sichqonlar bir nechtasi o'ladi.
Tartib bilan o'lmagan sichqon o'rniga 0 o'lganini 1 deb
ikkilik kod olamz
Masalan
0000000011-Bu degani oxirgi ikkita sichqon o'lgan
Hosil bo'lgan sonni 10-lik sanoq tizimiga o'girsak proberka nomerini olamiz
Shunday qilib 1 kunda aniqlash mumkin
Bu Bitmask usuli deyiladi.
Deepth Bits-Bitlarning Chuqurligi (Boshqacha tarjimasi busa izohda qoldirilar)
Demak bizda 1000 ta proberka bor.
1000 sonini 2-lik sanoq tizimiga ugirsak
1111101000 ni olamiz. Agar proberkalarni nomerlab chiqsak 10-ta raqamli shu sonni olamiz
Demak 1000 sonining Deepth Bits i 10 ga teng. Bizda esa 10 ta sichqon bor.
Proberkalarni ikkilik kurinishda nomerlab chiqami
1-0000000001
2-0000000010
3-0000000011
........................
999-11 1110 010010 ta sichqoni kletkaga quyamiz.(Ular aralashib qolmasliglari uchun)
Keyin har bir proberkadan proberka kodida 1 busa usha kletkadagi sichqonga 1-tomchi dori berib chiqamiz
Masalan
1 - proberka kodi 0000000001-10-chi kletkadagi sichqonga 1-tomchi doriKeyin kutamiz.
beramiz.
2-proberka kodi 0000000010 -9-chi kletkadagi sichqonga
.......................
999 -proberka kodi 11 1110 0100-demak 1,2,3,4,5,8- kletgadagi sichqonlarning barchasiga bir tomchidan
dori beramiz.
Kechga kelib sichqonlar bir nechtasi o'ladi.
Tartib bilan o'lmagan sichqon o'rniga 0 o'lganini 1 deb
ikkilik kod olamz
Masalan
0000000011-Bu degani oxirgi ikkita sichqon o'lgan
Hosil bo'lgan sonni 10-lik sanoq tizimiga o'girsak proberka nomerini olamiz
Shunday qilib 1 kunda aniqlash mumkin
Bu Bitmask usuli deyiladi.
π6β1π1
Yuqorida keltirilgan dastur Ekranga chiqaradigan oxirgi qatordagi yozuvni aniqlang
Anonymous Quiz
15%
Im World
31%
Algo World
34%
strongly developper
21%
Im strongly developper
π₯5β€1
Assalomu alaykum barchaga. Qisqacha dasturlash tillari va ularning qo'llanilishi haqida yozmoqchiman.
Albatta oldindan shuni aytishimi kerak ki men JS (uning frameworklarida) katta dasturlar yozmaganman.
Lekin qolganlarida minimum 5-6 ming qatorli kodlar yozganman.
Python-JS haqida gaplashamiz.
bilan birgalikda yechish kerak bo'lgan muammolar ham bu tillarda talaygina.
Albatta oldindan shuni aytishimi kerak ki men JS (uning frameworklarida) katta dasturlar yozmaganman.
Lekin qolganlarida minimum 5-6 ming qatorli kodlar yozganman.
Python-JS haqida gaplashamiz.
Python va JS bu dasturlash tillari bir potoklilikka moslashgan dasturlash tillari hisoblanishadi.
Dasturlashni endi boshlayotgan odam aynan Pythondan boshlasa juda ajoib bo'lar edi.
Ikkalasidaham bozorda ish o'rinlari yetarli. Albatta faqatgina til bilganiz bilan boshqa texnologiyalardan foydalana olmasz ish topishiz qiyin bo'ladi.
Ko'pchilik bu dasturlash tillari sekin deyishadi(Gap CPU bound haqida ketmoqda). Lekin Python ham JS ham tezlik uchun tuzilgan dasturlash tillari hisoblanishmaydi. Ular loyihani tez deploy qilish uchun mo'ljallangan dasturlash tillari hisoblanishadi.
Ha ma'lumot o'rnida shuni aytishim kerakki loyihalarda ayni paytdagi nagruzkalar deyarli 80% IO-bound (yane socket tomonidagi nagruzka masalan internetga ulanish bazaga ....) ga tushadi.
Bundan tashqari eng yirik AI lar Pythonda tuziladi. (chunki unda deploy qilish oson)
Pythonda levelizni oshirishiz uchun albatta yaxshi matematik bilimga ega bo'lishiz kerak.
Bundan tashqari CPU boundga ega bo'lmagan botlar web saytlar ko'pi shu tillarda yoziladi.
Python C (dll) lar bilan judayam yaxshi ishlaydi. Ko'pchilik shu uchunam CPU bound qismni C da IO boundni esa Pythonda yozishadi.
Shu
β€5π₯4β‘1
C# -Java.
Kichik loyiahalarni va jiddiy CPU boundga ega bo'lmagan dasturlarni bu tillarda tuzishni xojati yo'q.
C# bu dasturlash tili .Net ning asosiy dasturlash tili. .Net esa kundan kunga qanday tempda rivojlanib borayotganini ko'rishingiz mumkin. Albatta .Net 7 juda katta yangilik kiritdi. Tezligda oldin muammo bulsa tezlik anchagina oshdi.PS: C#
Umumiy qilib aytsak bu ikkala dasturlash tili ham (C# ga ko'proq yon bosgan bo'lardim)
ayni kunda aktual dasturlash tillaridan. Ularda eng sodda tizimlardan boshlab murakkab tizimlargahca yaratsa buladi.
Bunga yaqqo misol qilib C# -Asp.Net da tuzilgan Stack Overflow ni
Javadagi esa Jenkins Hubernetslarn kurishimiz mumkin.
C# yaqin yillar ichida (Agar albatta Microsoft boshqa texnologiya chiqarmasa) juda katta tempda rivojlanib boradi.
Eng asosiysi bu tillar Ko'p potokli va Paralel dasturlashni qullab quvatlashadi.
Bu degani istalgan CPU bound va IO boundga ega bo'lgan loyihalarga juda qulay kelishadi.
π4π₯2β€1β1
C/C++/Rust
Bu dasturlash tillari eng avvalo yangilik kiritish uchun aniqrogi OT lar va katta tizimlar uchun ishlatiladi.
Bu dasturlash tillarni tanlab o'sishdan oldin jiddiygina maqsadiz bo'lsa yaxshi bo'lar edi. Chunki 3-ni o'rganish ham juda ko'p vaqt talab etadi. Shu uchunam boshqalarga texnologiya tuzilgandagina ishlatishadi. Masalan MySQL, Node JS , PHP, .Net IIS ngnix serverlari va shunga uxshagan ...
O'zimni tajribamdan shuni aytishim mumkin ki eng boshida Python kabi sodda keyin esa C#,Java kabi dasturlash tillari urganib oxirida esa bu dasturlash tillarni tanlangan maqul.
Uchalasinin tezligi yuqoridagi dasturlash tillardan bir nechi barobar tez. (Pythondan bir nechi ming barobar C#-Javadan bir nechi yuz barobar)
Lekin CPU(GPU) bound asosida.
Xa albatta oxirgi vaqtlar Rust productn va WEB ga ham kirishni xohlayapti. Bilmadim balkim bunga erishar ham.
Rust bu juda yosh dasturlash tili.
U hozirda Unix -kabi OS larning yadrosiga kiritilgan.
Menimcha yaqin orada Windowsgaham kiritilsa kerak.
Xullas Rust bu ko'pgina C chilar uchun kelajak deb hisoblayman
C-Eng asosan Embeded-yane qurilmalarga kod yozish uchun ishlatiladi.
C++ albatta barcha sohada ishlatiladi.
C++ loyihangizda tezlik kerak bo'lganda ko'proq ishlatiladi. Albatta Game Developda asosiy dasturlash tili
hisoblanadi.
ko'ra C++ da yozganiz qulay.
Yoki bulmasam
Web dasturni Bir oy C++ yozgandan ko'ra 5-6 kun ASP.Net (C#) da yozganiz qulay.
Yoki bo'lmasam Neyron tarmoqlarini (Matritsalar Modellar Datasetlar)
ni C# da yangitdan yozgandan ko'ra tayyor Pythondan foydalanishiz qulay.
Bu dasturlash tillari eng avvalo yangilik kiritish uchun aniqrogi OT lar va katta tizimlar uchun ishlatiladi.
Bu dasturlash tillarni tanlab o'sishdan oldin jiddiygina maqsadiz bo'lsa yaxshi bo'lar edi. Chunki 3-ni o'rganish ham juda ko'p vaqt talab etadi. Shu uchunam boshqalarga texnologiya tuzilgandagina ishlatishadi. Masalan MySQL, Node JS , PHP, .Net IIS ngnix serverlari va shunga uxshagan ...
O'zimni tajribamdan shuni aytishim mumkin ki eng boshida Python kabi sodda keyin esa C#,Java kabi dasturlash tillari urganib oxirida esa bu dasturlash tillarni tanlangan maqul.
Uchalasinin tezligi yuqoridagi dasturlash tillardan bir nechi barobar tez. (Pythondan bir nechi ming barobar C#-Javadan bir nechi yuz barobar)
Lekin CPU(GPU) bound asosida.
Xa albatta oxirgi vaqtlar Rust productn va WEB ga ham kirishni xohlayapti. Bilmadim balkim bunga erishar ham.
Rust bu juda yosh dasturlash tili.
U hozirda Unix -kabi OS larning yadrosiga kiritilgan.
Menimcha yaqin orada Windowsgaham kiritilsa kerak.
Xullas Rust bu ko'pgina C chilar uchun kelajak deb hisoblayman
C-Eng asosan Embeded-yane qurilmalarga kod yozish uchun ishlatiladi.
C++ albatta barcha sohada ishlatiladi.
C++ loyihangizda tezlik kerak bo'lganda ko'proq ishlatiladi. Albatta Game Developda asosiy dasturlash tili
hisoblanadi.
Xulosa shu ki?render (3D grafikani yangilash) da siz Python yoki C#-Javadan foydalanib foydalanuvchini bir soat kutishiga olib kelishzdan
3D
ko'ra C++ da yozganiz qulay.
Yoki bulmasam
Web dasturni Bir oy C++ yozgandan ko'ra 5-6 kun ASP.Net (C#) da yozganiz qulay.
Yoki bo'lmasam Neyron tarmoqlarini (Matritsalar Modellar Datasetlar)
ni C# da yangitdan yozgandan ko'ra tayyor Pythondan foydalanishiz qulay.
Fikrlaringiz bulsa izohlarda qoldiring!
π₯11β‘3β€1π1
Judayam xursand buldim. Shogirdlarim juda shiddatli tempda osishmoqda.
PS: va bu hali boshlanishi InshaAllah ular ichidan juda kupi kotta kompaniyalarga joylashishiga ishonaman
PS: va bu hali boshlanishi InshaAllah ular ichidan juda kupi kotta kompaniyalarga joylashishiga ishonaman
β‘15π2π₯1π1
#Leet Code 319 Bulb Switcher
Sharti:
Chiquvchi ma'lumot: n roundan keyin yoniq qolgan lampalar soni.
Sharti:
Sizga N ta lampalar berilgan. Boshida ularning barchasi o'chirilgan.Kiruvchi ma'lumot:0<=n<=10^9
Keyin siz birinchi rounda barchasini yoqasz.
Keyingi har i-chi roundda esa barcha i-chi lampalar agar yongan bo'lsa o'chirasz agar o'chirilgan bo'lsa yoqasz. N roundan keyin nechta lampa yoniq turishni aniqlang.
Yuqoridagi rasmda 3-lampa uchun namuna keltirilgan. Birinchi rounda barchasini yoqish kerak. Ikkinchisida esa har 2-si agar yoniq bo'lsa o'chirish kerak agar o'chiq bo'lsa yoqish kerak. (Namunada o'chirilgan)
3-rounda bizda faqat 3 ta lampa borligi uchun 3-lampa o'chirilgan.
Chiquvchi ma'lumot: n roundan keyin yoniq qolgan lampalar soni.
PS: Masalani yechimini keltirishdan oldin uni discus tarzida tushunishga harakat qiling
π3β€1
Yuqoridagi keltirilgan funksiya qaysi holatda False natija qaytaradi
Anonymous Quiz
10%
is_bla_bla("12312.4")
22%
is_bla_bla("12312.4")
36%
is_bla_bla("-12312.4")
18%
is_bla_bla("-123124")
14%
is_bla_bla("+12312.4")
β‘4π2π₯2β€1
π6β€3π―3β1
Ertaga Algoritmlash bo'yicha yangi vedio chiqadi.
Eratosfen Galviri
Eratosfen Galviri
Anonymous Poll
96%
Ha
4%
Uncha qiziq mavzu emas.
π₯8π3
Algo Vision
Ertaga Algoritmlash bo'yicha yangi vedio chiqadi.
Eratosfen Galviri
Eratosfen Galviri
Bilaman ko'pchilik Graflar Nazariyasi.
Dinamik dasturlash.
kabi larni kutmoqda
Astalik bilan ishontirib aytaman ki hammasini nazariyasi ham
amaliyot qismiham bo'ladi. Eng asosiysi ochiq barcha uchun.
Albatta Modern C++ Programing from beginer to Profi kursi ham boshlanadi.
va bu albatta barcha dasturlashga qiziquvchilar va hattoki dasturlashga ma'lum bir bosqichda bo'lganlar uchun.
Dinamik dasturlash.
kabi larni kutmoqda
Astalik bilan ishontirib aytaman ki hammasini nazariyasi ham
amaliyot qismiham bo'ladi. Eng asosiysi ochiq barcha uchun.
Albatta Modern C++ Programing from beginer to Profi kursi ham boshlanadi.
va bu albatta barcha dasturlashga qiziquvchilar va hattoki dasturlashga ma'lum bir bosqichda bo'lganlar uchun.
π₯12β€1π1