53. 最大子序和

image.png

题解

  1. public class Solution {
  2. // tempSum 用于记录当前累加的值,res 用于记录 tempSum 的所有可能的最大值
  3. // 重点在于这行代码:tempSum = Math.max(num + tempSum, num);
  4. // 每次遍历都更新 res,使 res 记录的是最大值,最后返回 res
  5. public int maxSubArray(int[] nums) {
  6. int res = Integer.MIN_VALUE;
  7. int tempSum = 0;
  8. for (int num : nums) {
  9. tempSum = Math.max(num + tempSum, num);
  10. res = Math.max(tempSum, res);
  11. }
  12. return res;
  13. }
  14. }