Stock II Leetcode Solution ကိုဝယ်ယူရန်နှင့်ရောင်းရန်အကောင်းဆုံးအချိန်


ခက်ခဲအဆင့် လွယ်ကူသော
မကြာခဏမေးတယ် အမေဇုံ DE ရှော Facebook က Microsoft က မော်ဂန်စတန်လေ Uber
အခင်းအကျင်း တပ်မက်သော

ပြstatementနာကြေညာချက်

ပြStockနာ“ Stock II ကို ၀ ယ်ရန်နှင့်ရောင်းရန်အကောင်းဆုံးအချိန်” တွင်ကျွန်ုပ်တို့သည်ခင်းကျင်းခြင်းရှိအရာဝတ္ထုတစ်ခုစီသည်ထိုနေ့၌ပေးထားသောစတော့ရှယ်ယာများ၏စျေးနှုန်းပါ ၀ င်သောခင်းကျင်းမှုကိုပေးသည်။

အဓိပ္ပါယ်ဖွင့်ဆိုချက် ကိစ္စ စတော့ရှယ်ယာတစ်စုကိုဝယ်ယူပြီးစတော့ရှယ်ယာတစ်စုကိုရောင်းသည်

ကျွန်ုပ်တို့၏တာဝန်မှာအောက်ပါကန့်သတ်ချက်များအောက်တွင်အမြတ်အများဆုံးအမြတ်ကိုရှာဖွေရန်ဖြစ်သည်။

  1. အရင်စတော့ရှယ်ယာကိုရောင်းလိုက်ရင်ရောင်းလို့မရဘူး ငါတို့အများဆုံးတစ် ဦး စတော့ရှယ်ယာရှိသည်နိုင်သည့်အချိန်မှာဖြစ်ပါတယ်။
  2. ကျနော်တို့လိုသလောက်အဖြစ်အများအပြားအရောင်းအလုပ်နိုင်ပါတယ်။

နမူနာ

prices = [7,1,5,3,6,4]
7

ရှင်းလင်းချက်: ရရှိနိုင်သောအများဆုံးအမြတ်မှာ ၄ ဖြစ်သည်။

ပထမနေ့ - အနားယူပါ

ဒုတိယနေ့ - ၀ ယ်ပါ

တတိယနေ့ - ရောင်း

စတုတ္ထနေ့ - ဝယ်

ပဉ္စမနေ့ - ရောင်းမည်

ခြောက်ရက်မြောက်သောနေ့

Stock II Leetcode Solution ကို ၀ ယ်ယူရန်နှင့်ရောင်းရန်အကောင်းဆုံးအချိန်အတွက်နည်းလမ်းဖြစ်သည်

အရောင်းအ ၀ ယ်အရေအတွက်ကိုကန့်သတ်ချက်မရှိသောကြောင့်၊ လောဘကြီးသော algorithm ကို ဒီမှာ။ ထို့ကြောင့်ကျွန်ုပ်တို့သည်စတော့ရှယ်ယာတစ်ခုကိုအနိမ့်ဆုံးဈေးဖြင့်ဝယ်ပြီးအများဆုံးစျေးနှုန်းဖြင့်ရောင်းချမည်။ နိဂုံးချုပ်တစ်ခုချင်းစီတွင်ကျွန်ုပ်တို့သည်စတော့ရှယ်ယာတစ်လုံးဝယ်မည်။ ဒါကိုအောက်ကပေးထားတဲ့ပုံမှာရှင်းပြထားတယ်။ ဒါဟာစတော့ရှယ်ယာစျေးနှုန်းနှင့်နေ့အကြားကြံစည်မှုဖြစ်ပါတယ်။ စတော့အိတ် ၂ ကိုရောင်း ၀ ယ်ရန်နှင့်အကောင်းဆုံး ၀ ယ်ရန်အချိန်ကောင်းကို Leetcode solution ဖြင့်ဖြေရှင်းပါ

ကျွန်ုပ်တို့သည်သေးငယ်သောတန်ဖိုးများကိုအနိမ့်ဆုံးများထဲသို့ပေါင်းထည့်သောအခါအမြင့်မားဆုံးဖွဲ့စည်းထားကြောင်းကျွန်ုပ်တို့သတိပြုမိပါက၎င်းကိုပိုမိုလွယ်ကူစေသည်။ ထို့ကြောင့်အမြတ်အစွန်းအများဆုံးတွက်ချက်ရန်အတွက်အနည်းဆုံးနှင့်အမြင့်ဆုံးတိုင်းကိုခြေရာခံကြည့်လျှင်၎င်းတန်ဖိုးများကိုကျွန်ုပ်တို့၏အမြတ်သို့တိုက်ရိုက်ထည့်နိုင်သည်၊ ၎င်းသည်စျေးနှုန်း [i]> စျေးနှုန်း [i-1] ဖြစ်သည်။ ထိုကဲ့သို့သောတန်ဖိုးများအားလုံးသည်ကျွန်ုပ်တို့ကိုအမြတ်အစွန်းအများဆုံးပေးလိမ့်မည်။

စတော့အိတ် ၂ ကိုရောင်း ၀ ယ်ရန်နှင့်အကောင်းဆုံး ၀ ယ်ရန်အချိန်ကောင်းကို Leetcode solution ဖြင့်ဖြေရှင်းပါ

အကောင်အထည်ဖော်ရေး

Stock II ကို ၀ ယ်ရန်နှင့်ရောင်းရန်အကောင်းဆုံးအချိန်အတွက် C ++ ကုဒ်

#include <bits/stdc++.h> 
using namespace std; 
    int maxProfit(vector<int>& prices) {
        int n=prices.size();
        int ans = 0;
        for (int i = 1; i < n; i++) {
            if (prices[i] > prices[i - 1])
                ans += prices[i] - prices[i - 1];
        }
        return ans;
    }
int main() 
{ 
 vector<int> arr = { 7,1,5,3,6,4 }; 
 cout<<maxProfit(arr)<<endl; 
 return 0;
}
7

Stock II ကို ၀ ယ်ရန်နှင့်ရောင်းရန်အတွက်အကောင်းဆုံးအချိန်အတွက် Java ကုဒ်

import java.util.Arrays; 
public class Tutorialcup {
     public static int maxProfit(int[] prices) {
        int ans = 0;
        int n=prices.length;
        for (int i = 1; i < n; i++) {
            if (prices[i] > prices[i - 1])
                ans += prices[i] - prices[i - 1];
        }
        return ans;
    }
  public static void main(String[] args) {
    int [] arr = {7,1,5,3,6,4}; 
    int ans=  maxProfit(arr);
    System.out.println(ans);
  }
}
7

Stock II Leetcode Solution ကို ၀ ယ်ရန်နှင့်ရောင်းရန်အကောင်းဆုံးအချိန်၏ရှုပ်ထွေးမှုအားသုံးသပ်ခြင်း

အချိန်ရှုပ်ထွေး

အထက်ပါကုဒ်၏အချိန်ရှုပ်ထွေးသည် အို (ဎ) ဘာဖြစ်လို့လဲဆိုတော့ငါတို့ကစျေးနှုန်းတစ်ချိန်တည်းကိုပဲဖြတ်သန်းနေရတယ်။ ဤတွင် n စျေးနှုန်းခင်းကျင်း၏အရှည်သည်။

အာကာသရှုပ်ထွေးမှု

အပေါ်ကကုဒ်ရဲ့ရှုပ်ထွေးမှုက အို (၁) ဘာလို့လဲဆိုတော့ကျွန်တော်တို့ဟာ memory ကိုသုံးပြီးအဖြေကိုသိမ်းဖို့ပဲ။

ကိုးကား