[leetcode] 問題解答と解説。53. maxSubArray [JavaScript]
年末まで毎日leetcodeと向き合います。
今日のLeatCodeはこちら。
maxSubArray ルール
- numsはnumber[]
- numsの中の要素を足していって最大の数になる範囲を見つけて、最大値を返す
問題
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)
0にするところがいまいちわからない。少し調べる