题目描述:给定一个整数数组 nums
,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
代码实现
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| class Solution { public int maxSubArray(int[] nums) { int[] dp = new int[nums.length]; dp[0] = nums[0]; for (int i = 1; i < nums.length; i++) { dp[i] = Math.max(nums[i], dp[i - 1] + nums[i]); } int res = Integer.MIN_VALUE; for (int i = 0; i < nums.length; i++) { res = Math.max(res, dp[i]); } return res; } }
|