(LeetCode每日一刷28) 最大连续1的个数

题目描述:

给定一个二进制数组, 计算其中最大连续1的个数。

示例:

示例 1:

输入: [1,1,0,1,1,1]
输出: 3
解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3.

注意:

  • 输入的数组只包含 0 和1
  • 输入数组的长度是正整数,且不超过 10,000。

我提交的代码:

class Solution {
public:
    int findMaxConsecutiveOnes(vector<int>& nums) {
        decltype(nums.size()) i;
        int maxCount = 0;
        int sum = 0;
        int preSum = 0;
        int count;
        for (i = 0; i < nums.size(); ++i){
            sum = sum + nums[i];
            if(sum > maxCount){
                maxCount = sum;
            }
            else{
                if(sum <= preSum){
                    sum = 0;
                }
            }
            preSum = sum;
        }
        return maxCount;
    }
};

猜你喜欢

转载自blog.csdn.net/songsong2017/article/details/84649622