给定一个二进制数组, 计算其中最大连续1的个数。
示例 1:
输入: [1,1,0,1,1,1]
输出: 3
解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3.
思路:遍历数组就可以了,如果找到1就顺着找下去,记录连续为1的个数,没找到就接着遍历,最后就可得到最大连续1的个数。
class Solution {
public:
int findMaxConsecutiveOnes(vector<int>& nums) {
int nMaxZero = 0;
int nCount = nums.size();
int i=0,j;
while(i<nCount)
{
int nTemp = 0;
j = i;
while(j<nCount && nums[j] == 1)
{
nTemp++;
j++;
}
nMaxZero = nTemp > nMaxZero ? nTemp:nMaxZero;
i = j+1;
}
return nMaxZero;
}
};