ruijiege

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
package cn.jiedada.controller;

import java.util.ArrayList;
import java.util.List;
import java.util.Stack;

/**
 * 数的中序遍历
 */
class Solution {
    public static void main(String[] args) {
        maxSubArray(new int[]{-2,1,-3,4,-1,2,1,-5,4});
    }
    public static int maxSubArray(int[] nums) {
        int pre = 0, maxAns = nums[0];
        for (int x : nums) {
            //这个是计算顺序相加的最大值
            pre = Math.max(pre + x, x);
            //如果不要下面的代码则当达到最大值的时候如6 后面是-5和4 ,则下一个最大数为1不对了
            maxAns = Math.max(maxAns,pre);
        }
        return maxAns;
    }
}

 

posted on 2021-07-20 19:33  哦哟这个怎么搞  阅读(20)  评论(0编辑  收藏  举报