森田賢二のleetCodeの使い方、解説、解答を毎日更新しているキャラクター

[leetcode] 問題解答と解説。53. maxSubArray [JavaScript]

[leetcode] 問題解答と解説。53. maxSubArray [JavaScript]

森田賢二のleetCode
森田賢二のleetCode

年末まで毎日leetcodeと向き合います。
今日のLeatCodeはこちら。

maxSubArray ルール

  • numsはnumber[]
  • numsの中の要素を足していって最大の数になる範囲を見つけて、最大値を返す

問題

maxSubArray [easy]

maxSubArray 解答 一例

見本

function maxSubArray(nums) {
    let max = nums[0]; // 初期値
    let current = Math.max(max, 0); // 初期値がマイナスの場合0

    for (let i = 1; i < nums.length; i += 1) {
        current += nums[i];
        max = Math.max(max, current);
        current = Math.max(current, 0);
    }
    return max;
};

let a =  [-2,1,-3,4,-1,2,1,-5,4]
maxSubArray(a)

Math.max

0にするところがいまいちわからない。少し調べる

カテゴリー leetCode