LeetCode题解之Max Consecutive Ones

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     }

猜你喜欢

转载自www.cnblogs.com/wangxiaoyong/p/9316661.html