Diary of a programmer
26 subscribers
7 photos
18 links
At the Moment IT
Download Telegram
Bu esa uning yechimi!
It is for You.
Read and Learn!
Do'stlar Leetcode day Problemni ham yechdik. Noodatiy ko'rinishdagu bu masalamiz rekursiv ko'rinishda o'z yechimini topdi.
Lekin juda ko'p vaqt talab qiladi albatta rekursiya bo'lgandan keyin.
Sizlardan yaxshiroq yechim kutib qolaman!
Do'stlar masallarni ham ishlab Algoritmik bilimlarimizni oshirmoqdamiz. Data structuralarni ham yaxshi o'rganish uchun izlanib asosiy mavzular bo'yicha maqolalar tayyorlasam sizlar uchun ham foydali bo'ladi degan umiddaman. Va buning uchun qo'ldan kelgancha harakat qilaman!
Channel photo updated
Assalomu aleykum Hammag xayrli kun!
Mening ismim Hojimurod va men Java va .Net backend dasturchiman(tajribasiz junior🙃).
Mening murojaatim Asp.Net Corechilarga.
Men .Netni internetdan o'rgandim.
Farhod Dadajonov va MDC Uzbekistan youtube kanallariga minnatdorchiligimni bildiraman.
Asp.Net coreda project qilishni o'rganmoqchi bo'lganimda juda ko'p qiyinchiliklarga duch keldim.
Chunki men barcha ishlarni qismlarda o'rganganman.Avvl bitta videoda CRUD keyin ikkinchisida Log , uchunchisida token .....
Meni murojaatim shuki biz junior bachchalarga foydali bo'ladi degan umidda Real proekt qilib video kurs qilsangizlar degandim.
Tajribali Senior , Middle akalar bitta yaxshi idea bilan bu proyekt real darajaga chiqquncha bo'ladigan barcha jarayonlarni o'z ichiga oluvchi bir hayotni ko'rsatib beradigan videolavha qilib bersanglar degandim.(Unda oddiy bir kutubxonani tanlashdan tortib Arxitekturani qanday qurish qaysi provayderlar biz uchun qulayligini tanlashu vaho kazolarni ichga olsa degandim xatto bug izlashni ham.)
Hurmat ila Junior Hojimurod Ergashov!
🔥2
Assalomu aleykum do'stlar.
Leetcodeni yangi boshlaganlar uchun yaxshi taklif ekan Leetcode tomonidan Leetcode 75:
https://leetcode.com/studyplan/leetcode-75/
#leetcode_75
2-Masalani yechishga urinib ko'raylikchi qani do'stlar!
Do'stlar Algoritmlashda nazariy bilimlar ham juda muhim shuning uchun nazariy maqolalrimizni sizlar uchun havola etamiz! #algorithmicArticle hashtegi sizlar uchun muntazir.
It is for You!
Read and Learn!
#algorithmicArticle
Asymptotic analiz.Notationlar.
Notation - bu Algoritm qanday ishlashini o'lchab beradi. Ya'ni biz yozgan algoritm qanday maxsuldorligini vaqtdek izohlab beradi lekin vaqtini emas.
Asosiy ishlatiladigan notationlar:
1.Big O notation: Algoritmning ishlash vaqti yoki boʻsh joydan foydalanish tezligining yuqori chegarasini taʼminlaydi.Bu eng yaxshi bo'lmagan algoritmlarni ko'rsatadi vaholanki bundanda yaxshi yechim bo'lish ehtimoli katta.
2.Ω notation: Algoritmning ishlash vaqti yoki boʻsh joydan foydalanish tezligining past chegarasini taʼminlaydi.Bu eng yaxshi algoritmik yechimni beradi desak bo'ladi.
3.θ notation: Algoritmning ishlash vaqti va bo'sh vaqtdan foydalanishining ham pastki va ham yuqori chegarasini ko'rsatadi.U o'rtacha holatni ko'rsatadi.


Shuni ta'kidlash kerakki, asimptotik belgi algoritm uchun aniq ishlash vaqtini yoki bo'sh joydan foydalanishni aniq ko'rsatmaydi, balki algoritmning kirish o'lchamiga nisbatan qanday o'zgarishini tavsiflaydi
#algorithmicArticle
Tasavvur qiling bizda bir muammoning ikki xil algoritmik yechimi bor. Va bu ikki algoritm turli yondashuvlar va boshqa xususiyatlari bilan farq qiladi.
Ulardan qaysi biri ibiz uchun ma'qul , ya'ni mahsuldor ekanini qanday bilamiz?
Bu ikki algoritmni turli test caselari orqali tekshirishimiz va bunda hotira va vaqtning qanday band qilishini bir jadvalga joylasak ancha javobga yaqinlashamiz. Lekin bu aynan bir kompyuterda qilinmoqda. MAsalan har hil OS da turli yondashuv bilan qurilgan turli tillarda yozilgan algoritm bo'lsa bizning algoritmlarimiz. Vaholanki eng afzali bizning muammoyimining qaysi yechimi biz uchun muhimligi bilan o'lchanadi.
Va Asymptotic anlysis bunda bizga yordam beradi.
Asymptotic analysis - bu algoritmlarni tahlil qilishda ba'zi muammolarni hal qiladigan katta g'oya. Asimptotik tahlilda biz algoritmning ishlashini kirish hajmi bo'yicha baholaymiz . Biz algoritm tomonidan qabul qilingan vaqt (yoki bo'sh joy) kirish hajmi bilan qanday oshishini hisoblaymiz.
#leetcode_75
2 - masalaning yechimini havola etamiz:
public class Solution {
public string GcdOfStrings(string str1, string str2) {
if (!((str1 + str2) == (str2 + str1))){
return "";
}
int gcd = Gcd(str1.Length, str2.Length);
return str1.Substring(0, gcd);
}

private int Gcd(int a, int b) {
return b == 0 ? a : Gcd(b, a % b);
}
}
Hojimurod
#leetcode_75 2 - masalaning yechimini havola etamiz: public class Solution { public string GcdOfStrings(string str1, string str2) { if (!((str1 + str2) == (str2 + str1))){ return ""; } int gcd = Gcd(str1.Length, str2.Length);…
Do'stlar bizning barcha yechimlarimiz C# dasturlash tilida havola etilmoqda.
Agarda sintaksis jihatdan yechimlarda tushunarsiz holatga duch kelsangiz men ilan bog'laning va men sizlarga masalaning algoritmini tushuntirib beraman. VAnihoyat o'zingizga yoqqan tilda bu algoritmni codelashtirib qo'yaverasiz.

Murojjat uchun: @SeniorEH
👏1
Assalomu aleykum hammaga xayrli kun.
Do'stlar kuningiz xayrli va barokotli o'tsin!
🔥1
#leetcode_75 4 - masalaning yechimini havola etamiz!
Shu kunlarda algoritmlashdan ko'ra ko'proq vaqtim projectlar ustida o'tmoqda shuning uchun endi postimiz asosan sql , C# , Efcore , va projectdagi muammolar haqida bo'lib o'tadi.
Shuning uchun channel nomini ham update qilamiz.
👍1
Channel name was changed to «Diary of a programmer»
#project
1.Bizda ikkita table bor.
Ular bir biriga birga bir(one to one) bog'langan.
Bizning birinchi tableyimiz person.
int Id,
string name
unda x ta row bor

ikkinchi talbleyimiz product
int Id
int person_id
int price.
unda y ta row bor.

bizdan productlarni getAll qilish so'ralmoqda.

bizning vazifa barcha personlar bo'yicha productlarni GetAll() qilib berish.
Agarda x == y bo'lsa oddiy holat.
Lekin x > y bo'lsa biz x ta ma'lumot qaytarishimiz kerak ya'ni agarda qaysidir userning producti bo'lmasa unga yangi product yaratib priceni = 0 qilishimiz kerak. Va bu faqat apiga chiqishi kerak. u databaseda saqlanishi shart emas.