Bootstrap

代码随想录刷题学习日记

仅为个人记录复盘学习历程,解题思路来自代码随想录

代码随想录刷题笔记总结网址:
代码随想录

53. 最大子序和

给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。

提供参数:整型数组nums。

主要操作:

使用贪心法解决,

局部最优:当前累加和小于0时,只会让后面的累加越来越小,这时候就需要重新从下一个数开始累加。

全局最优:找到最大的累加和。

代码大致如下:

    public int maxSubArray(int[] nums) {

        int result=Integer.MIN_VALUE;
        int count=0;
        for(int i=0;i<nums.length;i++){
            count+=nums[i];
            if(result<count){
                result=count;
            }
            if(count<0)count=0;
        }
        return result;
    }

;