题解 | #连续子数组的最大和(二)#

https://www.nowcoder.com/practice/11662ff51a714bbd8de809a89c481e21

/**

记录最大和的开始位置和结束位置就好啦,空间复杂度O(1),时间复杂度O(n)
**/
import java.util.*;
public class Solution {
    public int[] FindGreatestSumOfSubArray (int[] array) {
        int min = 0,max =0,maxsum=-101;
        for(int i=0,j=0,temp=-101;i<array.length;i++){
            if(temp+array[i]<array[i]){
                temp = array[i];
                j=i;
            }else{
                temp+=array[i];
            }
            if(temp>=maxsum){
                max =i;
                min = j;
                maxsum = temp;
            }   
        }
        int[] res = new int[max-min+1];
        for(int i=min;i<=max;i++)res[i-min]=array[i];
        return res;
    }
}

全部评论

相关推荐

03-10 10:57
已编辑
门头沟学院 推荐算法
夜夜还好:我们学校说为了学生就业,更新了课程,我今天大二,上学期在学jsp,html,这学期上来工程实践,要求用springboot+vue,说什么这些技术要我们提前自己准备,要不你把学费还我吧,我给b站充个会员,人家教的比你多
点赞 评论 收藏
分享
03-11 23:33
已编辑
曲阜师范大学 后端工程师
牛客68808588...:果真开发过12306购票系统吗,这不是一眼就被看穿了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务