美文网首页100天代码挑战
100天代码挑战:DAY4

100天代码挑战:DAY4

作者: 共醉明月Nessa | 来源:发表于2018-09-07 00:12 被阅读0次

    LeetCode 53. 最大子序和

    给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。

    示例:
    输入: [-2,1,-3,4,-1,2,1,-5,4],
    输出: 6
    解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。

    我的答案:

    class Solution {
    public:
        int maxSubArray(vector<int>& nums) {
            int max_ans;
            int min = 0;
            int sum = 0;
            if(nums.size()<1){
                return 0;
            }
            else{
                max_ans = nums[0];
            }
            for(int i=0;i<nums.size();i++){
                sum += nums[i];
                if(sum-min > max_ans) max_ans = sum-min;
                if(sum < min){
                    min = sum;
                    continue;
                } 
                if(sum-min > max_ans) max_ans = sum-min;
            }
            return max_ans;
        }
    };
    

    解题用时:33'51"

    相关文章

      网友评论

        本文标题:100天代码挑战:DAY4

        本文链接:https://www.haomeiwen.com/subject/yiqqgftx.html