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

连续子数组的最大和(二)

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

时间复杂度O(n),空间复杂度O(1)

public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param array int整型vector 
     * @return int整型vector
     */
    vector<int> FindGreatestSumOfSubArray(vector<int>& array) {
        // write code here
        int res=0;
        int maxans=array[0];
        int left=0,temp_len=0,maxleft=0,maxlen=0;
        for(int i=0;i<array.size();++i){
                if(res>=0){
                    res=array[i]+res;
                    ++temp_len;
                }else{
                    res=array[i];
                    temp_len=1;
                    left=i;
                }
            if(res>maxans||(re***axans&&temp_len>maxlen)){
                    maxans=re***axlen=temp_len;
                    maxleft=left;
                    }
             
           // re***ax(array[i]+res,array[i]);
//            maxan***ax(re***axans);
        }
        vector<int> result;
        result.assign(array.begin()+maxleft,array.begin()+maxleft+maxlen);
        return result;
    }
};
全部评论

相关推荐

头像
10-16 09:58
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
我已成为0offer的糕手:别惯着,胆子都是练出来的,这里认怂了,那以后被裁应届被拖工资还敢抗争?
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务