最大连续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/