Algorithm Interview Preparation

ဒီရက်ပိုင်း Algorithm Interview Question လေးတွေလိုက်လုပ်ဖြစ်တယ်။ ကိုယ့်ကိုယ်ကိုလည်းလုပ်ဖို့ဖိအားဖြစ်အောင်သုံးရက်တစ်ပုဒ်လောက်တင်ဖို့ကြိုးစားပြီးတင်ပေးပါ့မယ်။ Algorithm Question တွေမဖြေခင် Big O Notation ဆိုတာဘာလဲ ဆိုပြီးကျွန်တော်ရေးထားတာကိုအရင်ဖတ်ပေးပါ။ Algorithm Interview တွေကိုဖြေတဲ့အခါမှာ Data Structure တွေသိထားဖို့ကလည်းအရေးကြီးပါတယ်။ ဒါမှ Problem ပေါ်မှာမူတည်ပြီးတော့ဘယ် Data Structure ကိုသုံးရင်ပိုမြန်တယ်၊ ပိုပြီးအကျိုးသတ်ရောက်မှုရှိတယ်ဆိုတာကို ဆုံးဖြတ်ရွေးချယ်လို့ရမှာဖြစ်တော့ Data Structure တွေကိုအရင် ဒီမှာ Study လုပ်ပါ။ ကြော်ငြာ – Developer/Designer အလုပ်တွေရှာနေတယ်ဆို MyanmarDevJobs.com မှာရှာနိုင်ပါတယ်။ Arrays & Hashing Two Pointers Random Business Soft Skills ကျွန်တော်တို့ Developer တွေမှာ အားနည်းချက်က Soft Skills […]

ကွန်ပျူတာ Power Button ကိုနှိပ်လိုက်တဲ့အချိန်ကနေ OS တက်လာတဲ့အထိ ဘယ်လိုအလုပ်လုပ်သွားလဲ

ဟိုတလောကဘယ်ကနေဘယ်လိုတွေးမိတယ်မသိပါဘူး ကွန်ပျူတာဆိုတာ 0/1 တွေနဲ့သွားနေတာဒါပေမယ့်အဲ့ 0/1 မတိုင်ခင်ကကောဘာလဲဆိုပီးစဥ်းစားရာကနေ ကွန်ပျူတာကိုစဖွင့်တဲ့အချိန်ကနေ OS တက်လာတဲ့အထိဘယ်လိုအလုပ်လုပ်လဲဆိုပီးလိုက်ရှာဖတ်ကြည့်မိတယ်။ ကျနော်လေ့လာမိသလောက်ပြန်လည်ဝေမျှလိုက်ပါတယ်။ ကွန်ပျူတာကို Power စပေးလိုက်ပီဆိုတာနဲ့ Power Supply Unit(PSU) စီကိုလျှပ်စစ်စီးသွားတယ်။ အဲ့ကနေမှ AC ကနေ DC ပြောင်းပေးတယ်။ ဘာလို့ဒီလိုပြောင်းဖို့လိုတာလဲလိုက်ကြည့်တော့ DC ရဲ့ voltage ကပိုငြိမ်တယ် အထဲက circuits တွေနဲ့ပိုအဆင်ပြေတယ်ဆိုပီးတွေ့တယ်။ PSU စီကနေမှ Motherboard စီကိုရောက်တယ်။ PSU စီကနေ Power Good Signal ကို Motherboard ရောက်လာမယ် အဲ့ကနေမှ motherboard ကို attach လုပ်ထားတဲ့ကျန်တဲ့ကောင်တွေစီကို Power ရောက်မယ်။ Motherboard ပေါ်မူတည်ပီးတော့ BIOS (Basic Input/Output System)/UEFI […]

1291. Sequential Digits

မှတ်ချက် – ဒီ Post သည် Algorithm Interview Preparation အပိုင်းဆက်ဖြစ်သည်။ ကျနော်တို့ဒီနေ့ရှင်းမယ့် ပြဿနာက 1291. Sequential Digits ဆိုတဲ့ leetcode question ဘဲဖြစ်ပါတယ်။ ကျနော်တို့မေးခွန်းကိုတချက်နားလည်အောင်ကြည့်လိုက်ရအောင်။ သူကပထမဆုံး sequential digits ကိုရှင်းပြထားတယ် ရှေ့ကနံပါတ်ထက်နောက်ကနံပါတ်ကပိုကြီးမှ sequential digits ဖြစ်တယ်ဆိုပီးရှင်းပြထားတယ်။ သူလိုချင်တာက [low, high] ကြားက sequentails digits တွေကို return ပြန်ပေးပါတဲ့ အဲ့ပြန်လာတဲ့ကောင်တွေက sorted ဖြစ်နေရပါမယ်တဲ့။ ဥပမာတွေကလဲရှင်းပါတယ် 100 နှင့် 300 ကြားက sequentials တွေက 123, 234။ အောက်မှာအဖြေကိုတချက်ကြည့်ကြည့်ရအောင်။ အဖြေမကြည့်ခင်ကိုယ်ပိုင် ကြိုးစားပီးဖြေကြည့်ဖို့အကြံပေးလိုပါတယ်။ ဒီကောင်ကိုဖြေဖို့ ကျနော်စဥ်းစားမိတာလေးတွေတချက်ပြန် ရှယ်ပါ့မယ်။ ဥပမာကိုကြည့်လိုက်တော့ 100 ကနေ […]

2966. Divide Array Into Arrays With Max Difference

မှတ်ချက် – ဒီ Post သည် Algorithm Interview Preparation အပိုင်းဆက်ဖြစ်သည်။ ကျနော်တို့ဒီနေ့ရှင်းမယ့် ပြဿနာက Divide Array Into Arrays With Max Difference ဆိုတဲ့ leetcode question ဘဲဖြစ်ပါတယ်။ မေးခွန်းက ကျနော်တို့ကို nums ဆိုတဲ့ integer array ရယ် k ဆိုတဲ့ integer တခုပေးထားမယ်။ နောက်ဆက်ပီးတော့ပြောထားတာက လိုအပ်ချက်သုံးခုပေးထားမယ် အဲ့အချက်တွေနှင့်ညီတယ်ဆိုရင် array element သုံးခုပါတဲ့တခုအဖြစ် group လုပ်ပီးတော့ 2D array အဖြစ်ပြန်ပေးရမယ်။ သူလိုအပ်တယ်ဆိုတဲ့အချက်သုံးချက်က… ၁. Each element of nums should be in exactly one array. – […]

739. Daily Temperatures

မှတ်ချက် – ဒီ Post သည် Algorithm Interview Preparation အပိုင်းဆက်ဖြစ်သည်။ ကျနော်တို့ဒီနေ့ရှင်းမယ့် ပြဿနာက 739. Daily Temperatures ဆိုတဲ့ leetcode question ဘဲဖြစ်ပါတယ်။ မေးခွန်းက temperatures ဆိုတဲ့ daily temperature ဖြစ်တဲ့ array တခုပေးထားမယ်။ သူလိုချင်တာက လက်ရှိထက်ပိုပူတဲ့အပူချိန်ရောက်ဖို့ ဘယ်လောက်စောင့်ရမလဲဆိုတာ၊ တကယ်လို့ နောက်ရက်တွေမရှိတော့ဘူးဆို 0 ထားလိုက်တဲ့။ ဥပမာတခုကိုအရင်ကြည့်လိုက်ရအောင် သူပေးထားတဲ့ temperatures တွေထဲမှာ 73 ဖြစ်တဲ့ရက်နောက်နေ့မှာ 74 ဆိုတော့ပိုပူတယ်။ အဲ့တော့ 1 ရက်အတွင်းဖြစ်တဲ့အတွက် 1။ အပူချိန် 75 ဖြစ်တဲ့ရက်ကိုကြည့်လိုက်တဲ့အချိန်မှာ 76 ရောက်တဲ့နေ့ထိဆို 4 ရက်ကြာတယ်။ 71 ဖြစ်တဲ့ရက်ဆိုပိုပူတဲ့ရက်ရဖို့ 2 ရက်ကြာတယ်။ နောက်ဆုံး […]

1239. Maximum Length of a Concatenated String with Unique Characters

မှတ်ချက် – ဒီ Post သည် Algorithm Interview Preparation အပိုင်းဆက်ဖြစ်သည်။ ကျနော်တို့ဒီနေ့ရှင်းမယ့် ပြဿနာက 1239. Maximum Length of a Concatenated String with Unique Characters ဆိုတဲ့ leetcode question ဘဲဖြစ်ပါတယ်။ မေးခွန်းက strings တွေပါတဲ့ arr ဆိုတဲ့ array တခုပေးထားမယ်။ ကျနော်တို့က s ဆိုတဲ့ string တခုလုပ်ရမယ်၊ သူပေးထားတဲ့ arr ဆိုတဲ့ array ထဲက string တွေကို concat ဆက်ရမယ်၊ ဒါပေမယ့် s ထဲမှာပါတဲ့ စကားလုံးက unique ဖြစ်နေရမယ်။ နောက်ဆုံးလိုချင်တာကတော့မထပ်ဘဲနဲ့အရှည်ဆုံးလုပ်လို့ရတဲ့ string လိုချင်တာပေါ့။ သူဥပမာလေးတွေပေးထားတယ်။ ထားပါတော့ကျနော်တို့ကို […]

645. Set Mismatch

မှတ်ချက် – ဒီ Post သည် Algorithm Interview Preparation အပိုင်းဆက်ဖြစ်သည်။ ကျနော်တို့ဒီနေ့ရှင်းမယ့် ပြဿနာက 645. Set Mismatch ဆိုတဲ့ leetcode question ဘဲဖြစ်ပါတယ်။ မေးခွန်းကနေစလိုက်ကြမယ်။ ကျနော်တို့ကို integernums list တခုပေးထားမယ်။ မူလက 1 ကနေ n ထိသွားတဲ့ကောင် အဲ့မှာပြဿနာတခုကြောင့် list ထဲမှာ duplicated ဖြစ်သွားတယ်။ အဲ့တော့ကျနော်တို့က duplicated ဖြစ်တဲ့ကောင်ကိုရှာပီးတော့ အဲ့ကောင်ကို အမှန်ပြန်ပေးရမယ်။ အောက်ကအဖြေမကြည့်ခင် ကိုယ်ပိုင်စမ်းပီး ဖြေကြည့်ဖို့တိုက်တွန်းလိုပါတယ်။ အဖြေတချက်သွားလိုက်ကြရအောင်။ မေးခွန်းကိုမြန်မြန်ဖတ်ပီးတော့ သူ့ရဲ့ ဥပမာတွေကိုဘဲကြည့်ရင် ကျနော်တို့ပုံမှန်စဥ်းစားလိုက်တာက loop ပတ်ပီး duplicate ဖြစ်တဲ့ကောင်ရှာမယ်။ အဲ့ကောင်ကိုဘဲ ၁ တိုးတာ ၁ လျှော့လုပ်မယ်ဆိုပီးစဥ်းစားနိုင်တယ်။ ဒါပေမယ့်သူကအပေါ်ဆုံးမှာပြောထားတာက originally […]

Tree Data Structure မိတ်ဆတ်

ကျနော်တို့ Tree Data Structure ကဘာလဲကနေစလိုက်ကြရအောင်။ Tree က Non-linear Data Structure တခုဖြစ်တယ်။ မဖတ်ရသေးရင် Data Structure အမျိုးအစားတွေအကြောင်း ဒီမှာ ရေးထားတာရှိတယ်။ Tree မှာ Nodes တွေအများကြီးပါတယ်။ Nodes တွေကနောက်ထက် Nodes တွေကို Point လုပ်နိုင်တယ်။ Tree data structure က Hierarchical (အထက်အောက်) သွားတာ။ အပင်ကို ပြောင်းပြန်လှန်လိုက်တဲ့ပုံစံပေါ့။ Root ကအပေါ်ဆုံးရောက်သွားပီးတော့ leaves တွေကအောက်ဆုံးရောက်သွားတာမျိုး။ အောက်ကပုံလိုမျိုး။ Tree အကြောင်းသိပီဆိုရင် Tree နှင့်သက်ဆိုင်တဲ့အခေါ်အဝေါ်တွေကိုလေ့လာဖို့ အောက်က Example tree ကိုတချက်ကြည့်ကြည့်လိုက်ရအောင်။ ဒီ tree မှာဆို A က Parent […]

Data Structure အမျိုးအစားများအကြောင်း

ဒီနေ့ပြောမယ့်အကြောင်းအရာကတော့ Data structure အမျိုးအစားတွေအကြောင်း overall ပြောမှာပါ။ Data Structure ကိုလေ့လာမယ်ဆိုရင် primitive ဆိုတာနှင့် non-primitive ဆိုပီး ၂ မျိုးရှိပါ့မယ်။ primitive ဆိုတာ အခြေခံအကျဆုံး data structure တွေပါ၊ ဥပမာ integers, floats, characters နှင့် boolean တို့လိုမျိုးတွေပါ့။ နောက်တခုကတော့ Non-Primitives Data Structure တွေပေါ့။ ဒီကောင်တွေက အပေါ်မှာပြောခဲ့တဲ့ primitives စီကဆင်းသက်လာတာ။ အဲ့ Non-Primitives Data structure ထဲမှာမှ Linear Data Structure နှင့် Non-Linear Data Structure ဆိုပီး ၂ မျိုးကွဲသွားတယ်။ ဒါဆိုကျနော်တို့ Linear Data […]

1704. Determine if String Halves Are Alike

မှတ်ချက် – ဒီ Post သည် Algorithm Interview Preparation အပိုင်းဆက်ဖြစ်သည်။ ကျနော်တို့ဒီနေ့ရှင်းမယ့် ပြဿနာက 1704. Determine if String Halves Are Alike ဆိုတဲ့ leetcode question ဘဲဖြစ်ပါတယ်။ မေးခွန်းကရှင်းပါတယ်။ string တခုပေးထားမယ်။ အဲ့ string ကိုတဝက်ဝက်ပီးတော့ ဘယ်ညာ ၂ ဖတ်လုံးမှာ vowels ပါတာညီရင် true ပြန်ပေးမဟုတ်ဘူးဆိုရင် false ပြန်ပေးရမှာ။ vowels တွေက lowercase လဲဖြစ်နိုင်သလို uppercase လဲဖြစ်နိုင်တယ်။ constraints တွေက ပေးထားတဲ့ string length က 2 ထက်ကြီးမယ် 1000 နှင့်အောက်ဖြစ်မယ်။ string ရဲ့length က even […]

1026. Maximum Difference Between Node and Ancestor

မှတ်ချက် – ဒီ Post သည် Algorithm Interview Preparation အပိုင်းဆက်ဖြစ်သည်။ ကျနော်တို့ဒီနေ့ရှင်းမယ့် ပြဿနာက 1026. Maximum Difference Between Node and Ancestor ဆိုတဲ့ leetcode question ဘဲဖြစ်ပါတယ်။ မေးခွန်းက binary tree ပေးထားမယ်။ ancestor နဲ့ descendant nodes တွေထဲကအကြီးဆုံး difference ကိုရှာပါတဲ့။ ဒီပြဿနာကိုဖြေရှင်းဖို့ဆိုရင် binary tree သိရမယ်။ binary tree traversal ဘယ်လိုလုပ်ရလဲသိရမယ်။ ကျနော်တို့အဖြေက Depth-First Seach (DFS) ကိုသုံးထားတယ်။ TreeNode ကကျနော်တို့ binary tree node အတွက်။ နောက် buildTree ဆိုတာ စမ်းကြည့်ပီး code […]