-->

Saturday, January 14, 2017

485. Max Consecutive Ones

https://leetcode.com/problems/max-consecutive-ones/

Solution:
It is an easy question. If element is 1, count+1; otherwise, count = 0. Update res for each loop.

Code:
class Solution {
public:
    int findMaxConsecutiveOnes(vector<int>& nums) {
        int res = 0, l = nums.size();
        for(int i=0; i<l; ++i){
            int t = i;
            while(t<l && nums[t] == 1) ++t;
            res = max(res, t-i);
            i = t;
        }
        return res;
    }
};
Another way to code:
class Solution {
public:
    int findMaxConsecutiveOnes(vector<int>& nums) {
        int res = 0, l = nums.size(), c1 = 0;//c1 is the counting of 1;
        for(int i=0; i<l; ++i){
            ++c1;
            if(nums[i] == 0) c1 = 0;
            res = max(res, c1);
        }
        return res;
    }
};

No comments :

Post a Comment