题目描述
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
解题思路
动态规划转移方程: f(i)=max{f(i−1)+nums[i],nums[i]}
static int maxSubArray(int[] nums) {
int max = 0;
for (int i = 0; i < nums.length; i++) {
max = Math.max(max + nums[i], nums[i]);
nums[i] = max;
}
Arrays.sort(nums);
return nums[nums.length-1];
}
Q.E.D.