Diary of a programmer
26 subscribers
7 photos
18 links
At the Moment IT
Download Telegram
Channel created
Assalomu aleykum!
Mening ismim Hojimurod.
Ayni damda men IT sohasida Java va .NET backend dasturchi sifatida o'z faoliyatimni olib boryapman.
Va Albatta shu sohaga oid ma'lumotlari yetkazama!
Agar ma'lumotlarim isga Manfaatli bo'lsa hursandman😊😊😊
Do'stlar biz albatta algoritmik masalalarsiz Dasturlashni tasavvur eta olmaymiz.
Unda "ODOP"(One Day One Problem) Challangeda qatnashamiz degan umidda har kuni Leetcodedan bitta masalani tanlab olamiz!
Solution On C# :
public class Solution {
public int FindMinDifference(IList<string> timePoints) {
int[] c = new int[timePoints.Count];
int k = 0;
foreach(var time in timePoints){
string[] a = time.Split(':');
int b = Int32.Parse(a[0]) * 60 + Int32.Parse(a[1]);
c[k] = b;
k++;
}

Array.Sort(c);
int min = Int32.MaxValue;

for(int i = 0;i < c.Length- 1;i++)
{
for(int j = i + 1;j < c.Length;j++){
int min1 = Math.Abs(c[i] - c[j]);
int min2 = c[i] + 1440 - c[j];

if(min > min1){
min = min1;
}

if(min > min2){
min = min2;
}
}
}

return min;
}
}
πŸ”₯2
Hamma narsa ham biz o'ylaganchalik oson emas ekan. Oddiy darajadagi bir misolni ishlaguncha qanchalar bo'shliqlarim ko'p ekanligini anglab yetyapman.
Bizda esa aslo taslim bo'lish yo'q va Ikkinchi Leetcode coinga ham ega bo'ldik😊
πŸ‘1
public class Solution {
public string[] UncommonFromSentences(string s1, string s2) {
string s = s1 + " " + s2;

string[] a = s.Split(' ');

string z = String.Empty;


for(int i = 0;i < a.Length;i++)
{
bool k = false;
for(int j = 0;j < a.Length;j++)
{
if(i != j && a[i].Equals(a[j]))
{
k = true;
break;
}
}
if(!k){
z += " " + a[i].ToString();
}
}

string[] str;

if(string.IsNullOrWhiteSpace(z.Trim()))
{
str = new string[0];
}else
{
str = z.Trim().Split(" ");
}
return str;
}
}


#Leetcode
Solution of Day Problem in Leetcode. It is for You.Read and Learn!
πŸ‘2
HashMap haqida maqola yozdim

Uning ortidagi nazariya va zamonaviy dasturlash tillaridagi implementatsiyalari haqida batafsil o’qishingiz mumkin.

Link: https://asadullo.com/blog/hashing/

@solvemproblr
Asadullo aka tomonidan yozilgan bu maqolani o'qib chiqdim.

It is Perfect!

Bir marotaba o'qiysiz va HashMap ning yaratilish tarixi va uni qurishdagi asosiy g'oyalarni va o'zi HashMap qanday muammolrga yechim bo'la olishini tushunib olasiz.
Faqat HashMap Funksiyalarini o'rganib uni o'zingiz yoqtirgan dasturlash tilida implment qilish qoladi xolos!

It is for You!
Read and Learn!
Do'stlar bugun bir Companiyaning Algoritmik interview siga qatnashdim.
2 soat vaqt va 4 ta masala.
Qariyb 2 tasini ishlay oldim.

Bu masalalar haqida albatta post qilaman. Inn Shaa Allah.

Tushunib yetyapmanki IT olami juda keng. Bir tomonda Project qilayotgan bo'lsang bir , tomonda Algoritmik masala ishlashing kerak. Va ularning bari senga zavq bag'ishlaydi.

Alloh ilmimizni ziyoda qilsin. Amiiyn.
πŸ‘1
Finallay I get three's coins in Leetcode!

Bugungi kunlik masalani ham yechdik. Qariyb ikki soatlik urinish samarasiz ketmadi.
Bu jarayonda Convert functionlar bilan ko'p ishladim.
BUgungi masalaning yechimini sizlar bilan ulashmoqchiman.

public class Solution {
public string LargestNumber(int[] nums) {
string[] a = new string[nums.Length];

///Maqsad barcha nums larni stringga o'tkazib olish
for (int i = 0; i < nums.Length; i++)
{
a[i] = nums[i].ToString();
}

int[] b = new int[nums.Length];// maqsad elementlarni "katta" dan "kichik" ka tomoon saqlab borish
int k = 0;//it is b index
int max = 0;///Maqsad sonlar ichidan en "katta" sini aniqlab olib maxda saqlash
bool isEnterIf = false;// Bu "katta" elementlarni b massivga joylash jarayonida bning indexini ko'tarishga ruxsat. Yani keyingi katta elementni qidirishga ruxsat
int index = -1;//Bu ayni jarayondagi 'katta' elementning indeksi
bool isEqualNumbreLength = true;// sonlarni solishtirish jarayonida xonalar soni xar hil bo'lsa bishqa logika va bir xil bo'lsa boshqa logikadan borishga yo'l
// Berilgan sonlarni eng avval 9 bilan boshlanganlarini keyin 8 ... kabi qilib b ga joylashtirish
for (int i = 9; i > 0; i--)
{
for (int j = 0; j < nums.Length; j++)
{
//"katta" element olingandan so'ng u keyingi katta elementni olishga halaqit bermasligi lozim;
if (nums[j] == 0)
{
continue;
}

if (max.ToString().Length != a[j].Length && max != 0 && a[j].StartsWith(i.ToString()))
{
///uzuliklari teng bo'lmagan holat uchun ikkki sonning qaysi birinchisini "katta" ligini aniqlash
long nummax = (long)Convert.ToDouble(a[j].ToString() + max.ToString());
long maxnum = (long)Convert.ToDouble(max.ToString() + a[j].ToString());

if (maxnum > nummax)
{
continue;
}
else
{
max = nums[j];

index = j;
}
isEnterIf = true;
}


///uzuliklar teng bo'lgan holatda "katta" sonni aniqlash
if (a[j].StartsWith(i.ToString()))
{

if (max < nums[j])
{
max = nums[j];
index = j;
isEnterIf = true;
}
}
}

if (isEnterIf && max != 0)
{
i++;
b[k] = max;
max = 0;
nums[index] = 0;
k++;
}
}

///Massivdagi barcha stringlarni qo'shib bizga response etringni yani "eng katta sonni" aniqlash algoritmi;
string response = "";
for (int i = 0; i < b.Length; i++)
{
response += b[i].ToString();
}

//Agar massiv faqat 0 sonidan iborat bo'lsa "000...0" emas "0" qaytarishimiz lozim shuning algoritmi
if(response.Length > 0 && response.Replace("0", "") == ""){
return 0.ToString();
}

return response;
}
}


It is for You.
Read and Learn!