Max Consecutive Ones 最大连续1的个数

Given a binary array, find the maximum number of consecutive 1s in this array.

Example 1:
Input: [1,1,0,1,1,1]
Output: 3
Explanation: The first two digits or the last three digits are consecutive 1s.
    The maximum number of consecutive 1s is 3.
Note:

The input array will only contain 0 and 1.
The length of input array is a positive integer and will not exceed 10,000

class Solution{
public:
    int findMaxConsecutiveOnes(vector<int>& nums){
        int res = 0, cnt = 0;
        for(int num : nums){
            cnt = (num == 0) ? 0 : cnt+1;
            res = max(res,cnt);
        }
        return res;
    }
};

class Solution2{
    int findMaxConsecutiveOnes(vector<int>& nums){
        int res = 0,sum = 0;
        for(int num : nums){
            sum = (sum + num)*num;
            res = max(res,sum);
        }
        return res;
    }
};

  

怕什么真理无穷,进一寸有一寸的欢喜。---胡适
原文地址:https://www.cnblogs.com/hujianglang/p/12468058.html