劍指 Offer 42. 連續子陣列的最大和(動態規劃)1
阿新 • • 發佈:2020-12-13
技術標籤:LeetCode
輸入一個整型陣列,陣列中的一個或連續多個整陣列成一個子陣列。求所有子陣列的和的最大值。
要求時間複雜度為O(n)。
示例1:
輸入: nums = [-2,1,-3,4,-1,2,1,-5,4]
輸出: 6
解釋:連續子陣列[4,-1,2,1] 的和最大,為6。
解法一:動態規劃
class Solution { public int maxSubArray(int[] nums) { int res = nums[0]; for(int i = 1; i < nums.length; i++) { nums[i] += Math.max(nums[i - 1], 0); res = Math.max(res, nums[i]); } return res; } }