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

连续子数组的最大和

http://www.nowcoder.com/practice/459bd355da1549fa8a49e350bf3df484

超过百分之一的java代码,真的是太菜了

public class Solution {
    public int FindGreatestSumOfSubArray(int[] array) {
        if(array.length==0){
            return 0;
        }
        if(array.length==1){
            return array[0];
        }
        int max = array[0];
        
        int abs = 0;
        int count = 0;
        //找到数组里的正数
        for(int i =0;i < array.length;i++){
            if(array[i]>0){
                abs = i;
                break;
            }
                count++;
        }
        //数组里没有正数,返回最小值
        if(count == array.length){
            for(int i = 1;i < array.length;i++){
                max = max > array[i]?max:array[i];
            }
            return max;
        }
        //找到正数向后相加
        int temp = array[abs];
        for(int i = abs+1;i<array.length;i++){
            if(temp+array[i]>0){
                temp+=array[i];
                max=max>temp?max:temp;
            }else{
                temp = 0;
            }
        }
        
        return max=max>temp?max:temp;
    }
}
全部评论

相关推荐

黑皮白袜臭脚体育生:简历条例统一按使用了什么技术实现了什么功能解决了问题或提升了什么性能指标来写会好些,如使用布隆过滤器实现了判断短链接是否存在,大大提升了查询速度
点赞 评论 收藏
分享
Dream_coding:你是不是只投大厂了
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务