最简单的思路就是从头开始统计
我的跑好慢,,,如下:
class Solution {
public:
int findMaxConsecutiveOnes(vector<int>& nums) {
int l = nums.size();
int res = 0;
int index = 0;
while( index < l ){
int cur = 0;
while( index < l && nums[ index] == 0 )index++;
if( nums[ index ] == 1 ){
while( nums[ index ++ ] == 1 )cur ++;
}
res = cur > res ? cur : res;
}
return res;
}
};
大佬的跑好快,大佬们总是能抽丝剥茧,用最简单最优美的方式解决问题啊==
class Solution {
public:
int findMaxConsecutiveOnes(vector<int>& nums) {
int res = 0;
int cur = 0;
int l = nums.size();
for( int i = 0 ; i < l ; i ++ ){
cur = ( nums[ i ] == 1 ) ? cur + 1 : 0;
res = cur > res ? cur : res;
}
return res;
}
};