LeetCode题库 53. 最大子序和(简单)
题解
使用动态规划思想,确定状态转移方程,
结果 = 当前值 与 之前和 中的最大值,并使用一个变量保存结果中的最大值,最后返回;
class Solution {
public int maxSubArray(int[] nums) {
int pre = 0, maxAns = nums[0];
for (int x : nums) {
pre = Math.max(pre + x, x);
maxAns = Math.max(maxAns, pre);
}
return maxAns;
}
}
思考:
- 暂时还未学会使用动态规划,还需继续努力;
- 使用分治算法思想后,结果将在三种情况中取得:左边、右边、跨越中间值;