最大连续 1 的个数

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

示例:

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

class Solution {
    public int findMaxConsecutiveOnes(int[] nums) {
        int len = nums.length;
        
        if(len == 1) {
            return nums[0] == 1 ? 1 : 0;
        }
        
        int l = 0, r = 0, ans = 0;
        
        while(l < len && r < len) {
            for(l = r; l < len && nums[l] == 0; l++);
            for(r = l; r < len && nums[r] == 1; r++);
            ans = Math.max(ans, r - l);
        }
        
        return ans;
    }
}
posted on 2021-02-19 11:03  KobeSacre  阅读(60)  评论(0编辑  收藏  举报