လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP တွင်လောဘကြီးစွာ algorithm ကို အသုံးပြု. အကြီးဆုံး subarray နှင့်ပြ problem နာကိုမည်သို့ဖြေရှင်းရမည်နည်း

PHP တွင်လောဘကြီးစွာ algorithm ကို အသုံးပြု. အကြီးဆုံး subarray နှင့်ပြ problem နာကိုမည်သို့ဖြေရှင်းရမည်နည်း

M66 2025-07-08

PHP တွင်လောဘကြီးစွာ algorithm ကို အသုံးပြု. အကြီးဆုံး subarray နှင့်ပြ problem နာကိုမည်သို့ဖြေရှင်းရမည်နည်း

အများဆုံး subarrays နှင့်ပြ problem နာကို array တစ်ခုတွင်ဆက်တိုက် subarrays အများဆုံးပေါင်းလဒ်ကိုရှာဖွေရန်ဒီဇိုင်းပြုလုပ်ထားသည်။ လောဘကြီးသော algorithms သည်သူတို့၏ရိုးရှင်းမှုနှင့်ထိရောက်မှုကြောင့်ဤပြ problem နာကိုဖြေရှင်းရန်ဘုံနည်းလမ်းတစ်ခုဖြစ်လာသည်။ ဤဆောင်းပါးသည် PHP တွင်ဤပြ problem နာအတွက်အကောင်းဆုံးအဖြေကိုအကောင်အထည်ဖော်ရန်လောဘကြီးသည်လောဘကြီးခြင်းကိုမည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။

လောဘ algorithm မှနိဒါန်း

လောဘကြီးသော algorithms ၏အဓိကအယူအဆမှာလက်ရှိဒေသဆိုင်ရာအကောင်းဆုံးဖြေရှင်းနည်းကိုရွေးချယ်ရန်နှင့်နောက်ဆုံးပေါ်အကောင်းဆုံးအဖြေများမှတစ်ဆင့်ကမ္ဘာလုံးဆိုင်ရာအကောင်းဆုံးအဖြေရှာရန်မျှော်လင့်ရသည်။ အများဆုံး subarray နှင့်ပြ problem နာကိုဖြေရှင်းသည့်အခါကျွန်ုပ်တို့သည်တစ်ချိန်ကခင်းကျင်းမှုတွင်ဆက်တိုက် element များကိုရွေးချယ်ပြီး၎င်းတို့၏ငွေပမာဏကိုတွက်ချက်ပြီးအများဆုံးပမာဏကိုဆက်လက်မွမ်းမံပါ။

ဖြေရှင်းချက်အဆင့်များ

လောဘကြီးတဲ့ algorithm ကိုအသုံးပြုပြီးအကြီးဆုံး subarray နှင့်ပြ problem နာကိုဖြေရှင်းရန်အဆင့်များမှာအောက်ပါအတိုင်းဖြစ်သည် -

  • လတ်တလောတွင်လက်ရှိတွေ့ရှိရသည့်ပမာဏနှင့်လက်ရှိစဉ်ဆက်မပြတ် subarray ၏ပေါင်းလဒ်ကိုကိုယ်စားပြုသည့်အမြင့်ဆုံးသောပေါင်းလဒ်ကိုကိုယ်စားပြုသည့် Variables $ Maxsum နှင့် $ Currsum တို့ကိုအသီးအက်ဆက်ပါ။
  • Element Element တစ်ခုစီအတွက် array မှတဆင့်ကြားမှာအောက်ပါအတိုင်းအောက်ပါတို့ကိုလုပ်ပါ။
    • လက်ရှိ element ကို $ Currsum နှင့် $ Currsum ကိုထည့်ပါ။
    • အကယ်. $ Currsum သည်ဒေါ်လာ Maxsum ထက်ကြီးပါကဒေါ်လာ Maxsum ကို update လုပ်ပါ။
    • အကယ်. $ Currsum သည် 0 နှင့်ညီသည်သို့မဟုတ်ညီမျှလျှင်၎င်းသည်လက်ရှိ subarray ၏နောက်ဆက်တွဲပေါင်းလဒ်သို့ပံ့ပိုးမှုသည်အပျက်သဘောဆောင်သောကြောင့်ဒေါ်လာစျေးကို 0 င်သည်။
  • traversal ပြီးစီးပြီးနောက်ဒေါ်လာ Maxsum ပြန်လာပြီးအများဆုံး subarray sum ဖြစ်သည်။

PHP Code Pegion

ဤတွင်အကြီးဆုံး subarray နှင့်ပြ problem နာကိုအကောင်အထည်ဖော်သည့် PHP Code Pegion Signe PHP Code Pegocline ဖြစ်သည်။

 function findMaxSubarray($arr) {
    $maxSum = PHP_INT_MIN;
    $currSum = 0;

    foreach ($arr as $num) {
        $currSum += $num;

        if ($currSum > $maxSum) {
            $maxSum = $currSum;
        }

        if ($currSum <= 0) {
            $currSum = 0;
        }
    }

    return $maxSum;
}

// ဥပမာအသုံးပြုမှု
$arr = [1, -2, 3, 4, -5, 6, -7];
$maxSum = findMaxSubarray($arr);
echo 'အကြီးဆုံး subarray ၏ပေါင်းလဒ်ဖြစ်ပါတယ်:' . $maxSum;

အထက်ဖော်ပြပါကုဒ်များတွင် element တစ်ခုချင်းစီ၏တန်ဖိုးကို အခြေခံ. array နှင့် update $ currsum နှင့် maxsum တို့အားဒေါ်လာ။ ဤနည်းအားဖြင့်ကျွန်ုပ်တို့သည်ဖြတ်သန်းမှုတစ်ခုတွင်အများဆုံး subarray ပေါင်းလဒ်ကိုတွက်ချက်နိုင်သည်။

အကျဉ်းချုပ်

ဤဆောင်းပါးသည်အမြင့်ဆုံး Subarray နှင့်ပြ problem နာကိုအကောင်းဆုံးဖြေရှင်းနည်းကိုအကောင်အထည်ဖော်ရန် PHP တွင်လောဘကြီးသော algorithms ကိုမည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးသည်။ ဤ algorithm မှတစ်ဆင့်သင်သည်ခင်းကျင်းမှု၏အများဆုံးပေါင်းလဒ်ကိုထိရောက်စွာတွက်ချက်နိုင်ပြီးအမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင် algorithm ထိရောက်မှုကိုတိုးတက်စေနိုင်သည်။