题 思 O(n)想不出来,看题解的; dp还是不熟练。 代码 public int maxSubArray(int[] nums) { int[] dp = new int[nums.length]; dp[0] = nums[0]; int max = dp[0]; for (int i = 1; i < dp.length; i++) { dp[i] = Math.max(dp[i - 1] + nums[i], nums[i]); max = dp[i] > max ? dp[i] : max; } return max; }