53.Maximum Subarray
題目
給定一個整數陣列 nums,找到 連續子陣列(至少包含一個元素),使其總和最大,返回該總和。
解題思路
定義兩個變數:
currentSum → 以當前元素結尾的最大子陣列和
maxSum → 全局最大子陣列和
狀態轉移:
currentSum = max(nums[i], currentSum + nums[i])
maxSum = max(maxSum, currentSum)
解釋:
nums[i] → 重新開始新的子陣列
currentSum + nums[i] → 延續之前的子陣列
最後 maxSum 就是答案。