LeetCode 485. Max Consecutive Ones (边界处理)

来源:互联网 发布:51单片机下载器 编辑:程序博客网 时间:2024/06/05 16:40

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

Example 1:

Input: [1,1,0,1,1,1]Output: 3Explanation: 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

查找连续1的个数最大值。

当等于0时,将累计的count与max比较,然后将count归零。

当查到最后一个数时,将累计的count与max比较。


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