LeetCode-485. Max Consecutive Ones

来源:互联网 发布:win pe 知乎 编辑:程序博客网 时间:2024/05/17 05:05

问题:
https://leetcode.com/problems/max-consecutive-ones/?tab=Description
Given a binary array, find the maximum number of consecutive 1s in this array.
找出一个二进制串中连续的1的个数。
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.
分析:
遍历数组,如果是1,则计数加一,如果是0,则将当前计数值和最大值比较更新。然后计数归零。
参考C++代码:

class Solution {public:    int findMaxConsecutiveOnes(vector<int>& nums) {        int maxcount=0;        int curcount=0;        for(int i=0;i<nums.size();i++){            if(nums[i]==1){                curcount++;                if(curcount>maxcount) maxcount=curcount;            }            if(nums[i]==0){                if(curcount>maxcount) maxcount=curcount;                curcount=0;            }        }        return maxcount;    }};
0 0