2019-01-14 Day 9

2019-01-14  本文已影响0人  骚得过火

1.最大连续1的个数
来源LeetCode

给定一个二进制数组, 计算其中最大连续1的个数。

示例 1:

输入: [1,1,0,1,1,1]
输出: 3
解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3.
注意:

输入的数组只包含 0 和1。
输入数组的长度是正整数,且不超过 10,000。

class Solution {
public:
    int findMaxConsecutiveOnes(vector<int>& nums) {
        
        int max_length = 0 ;
        int size = nums.size();
        int last = 0;
        
        if( nums.size() == 0 ) return 0;
        if( nums[0] == 1 ) 
        {
            last = 1 ;
            max_length = 1;
        }
        for( int i = 1 ; i < size ; i ++ )
        {
            if( nums[i] == 0 ) last = 0;
            if( nums[i] == 1) 
            {
                last += 1;
                if( max_length < last)
                    max_length = last;
            }
            
        }
        return max_length ;
    }
};
上一篇 下一篇

猜你喜欢

热点阅读