Task:
思路:
(1)设置两个计数变量res 和count,前者记录到目前为止的1的个数,后者记录每个新的连续的有1的个数;
(2)遍历:
a) 如果等于1,那就给count+1;
b) 如果不等于1,那就把count置为零,从新开始下一轮的开始;
c) 然后把当前count的1的个数和res的比一下大小,把大的留下来
(3) 最后返回结果
代码:
class Solution {
public:
int findMaxConsecutiveOnes(vector<int>& nums) {
if(nums.size() == 0)
return NULL;
int res = 0, count = 0;
for (int i = 0; i < nums.size(); i++){
if( nums[i] == 1 ){
count++;
}
else{
res = max(res, count);
count = 0;
}
}
return max(res, count);
}
};