LeetCode:最大连续1的个数

最大连续1的个数

要求

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

思路

利用双指针,记录连续1的头和尾,遍历完之后,输出最大的差值。

示例

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

题目链接

https://leetcode-cn.com/explore/featured/card/array-and-string/201/two-pointer-technique/788/

posted @ 2020-04-22 17:57  Breezy-ye  阅读(163)  评论(0编辑  收藏  举报