仅为个人记录复盘学习历程,解题思路来自代码随想录
代码随想录刷题笔记总结网址:
代码随想录
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;
}