题目
我的题解
傻瓜解法:一个个遍历。
class Solution {
public int maxSubArray(int[] nums) {
int result = nums[0];
int temp = result;
for (int i = 0; i < nums.length; i++) {
int sum = nums[i];
for (int j = i+1; j < nums.length; j++) {
temp = Math.max(temp, sum);
sum += nums[j];
}
temp = Math.max(temp, sum);
result = Math.max(Math.max(temp, result), sum);
}
return result;
}
}
其他题解
动态规划
分治法
总结
- 动态规划和分治法回头好好看看,再练练类似的题目
- 一个易错点是没有考虑到第一个值是负数,而后面是正数,可能会直接输出第一个值