1、题目描述
2、问题分析
遍历一次数组,以每个1 为起点向后数,数到0 时比较当前1的个数和最大1 的个数,然后将遍历的起点放到当前0 的后面。
3、代码
1 int findMaxConsecutiveOnes(vector<int>& nums) { 2 int result = 0; 3 if( nums.size() == 0 ) return result; 4 5 for( int i = 0 ; i < nums.size() ; i++ ){ 6 if( nums[i] == 1 ){ 7 int j = i; 8 int num_1 = 0; 9 while( j < nums.size() && nums[j] == 1 ){ 10 num_1++; 11 j++; 12 i = j-1; 13 } 14 15 if( num_1 > result ){ 16 result = num_1; 17 } 18 } 19 20 } 21 22 return result ; 23 24 }