最大子序和

package daily20201230;

/**
 * @author : zhaoliang
 * @program :newCoder
 * @description : 最大子序和
 * @create : 2020/12/30 20:42
 */
public class maxSubArray {
     
    //给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
    public int maxSubArray(int[] nums){
     
        if (nums==null || nums.length==0)return 0;
        int preSum = nums[0];
        int maxSum = preSum;
        for (int i = 1; i <nums.length ; i++) {
     
            preSum  = preSum <0?nums[i]:preSum+nums[i];
            maxSum = Math.max(preSum,maxSum);
        }
        return maxSum;
    }
}

你可能感兴趣的:(剑指Offer刷题(Java),常见算法题,LeetCode刷题,leetcode,数据结构,算法,java)