题目描述
原题链接:https://leetcode-cn.com/problems/lian-xu-zi-shu-zu-de-zui-da-he-lcof/
解题思路
K 神题解:https://leetcode-cn.com/problems/lian-xu-zi-shu-zu-de-zui-da-he-lcof/solution/
7.20 感悟:
这题的核心其实就是算出每一个 nums[i] 的最大值是多少。
意味着不代表你连续的数字多你数就大。
反正核心就是把 nums[i] 最大值求出来就行了,也不用担心后面的状态会比前面的状态小,既然小那就用前面的状态不就行了?
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); // nums[i] 其实就是状态 dp[i]res = Math.max(res, nums[i]); // 因为要得出最大值,所以每一次都要比较一下}return res;}}
