当前位置: 首页> 财经> 创投人物 > leetcode53. 最大子数组和(java实现)

leetcode53. 最大子数组和(java实现)

时间:2025/7/11 19:50:46来源:https://blog.csdn.net/Kirihara_Yukiho/article/details/140858048 浏览次数:0次

今天分享的题目是leetcode53题
在这里插入图片描述
本题的解题思路:贪心算法。
举个例子:
nums = [-2,1,-3,4,-1,2,1,-5,4],如果说我们的累加和是负数那么就将其舍弃,换下一个位置从新进行累加,因为如果目前我们的累加和如果是负数那么还不如不用。
比如说目前累加和为-2,那么我们不如用后面的1,这样累加和会更大,因为题目要求是返回最大和。
本题需要注意的点:不是说遇到负数就进行舍弃,而且如果累加和res为负数才对当前值进行舍弃。
具体代码的实现如下:

 public int maxSubArray(int[] nums) {int res = -9999999;int count =0;for (int i = 0; i < nums.length; i++) {count +=nums[i];if (res<count){res= count;}//如果累加和小于了0,那么从新开始计算if (count<0){//这里count赋值为0很妙,大家可以细细品一下。//目的主要是舍弃当前累加和,从新计算。count =0;}}return res;}

那么本道题的分享就结束了,如果不懂的话可以在下面进行留言。
推荐一个视频视频讲解更加详细。

关键字:leetcode53. 最大子数组和(java实现)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: