题解 | #子数组的最大累加和问题#Java最易懂版本

子数组的最大累加和问题

http://www.nowcoder.com/practice/554aa508dd5d4fefbf0f86e5fe953abd

1 累加的前提是 前面累加的和必须大于0,否则没有必要加上前面数组的数
2 不需要dp数组来保存,只需要将数组中的值进行累加即可

public int maxsumofSubarray (int[] arr) {
        // write code here
        int res = arr[0];
        if(arr.length == 0)return -1;
        if(arr.length == 1)return res;
        for(int i = 1;i < arr.length;i++){
            arr[i] += Math.max(arr[i-1],0);
            res = Math.max(res,arr[i]);
        }
        return res;
    }
全部评论

相关推荐

11-04 19:05
已编辑
东莞城市学院 单片机
不知道怎么取名字_:你这个要实习两年?哪有这么久的,感觉就是即使你毕业了,但还按实习的话,是不是不用给你缴社保公积金啥的
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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