485. 最大连续1的个数

2019/07/18 09:20 上午 posted in  数组 leetcode

问题

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

示例 1:

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

注意:

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

解法

此题比较简单,一次遍历即可完成。直接上代码。

代码

java

class Solution {
    public int findMaxConsecutiveOnes(int[] nums) {
        int result = 0;
        int curr = 0;
        for(int i: nums) {
            if (i == 0) {
                curr = 0;
            } else{
                curr++;
                result = Math.max(result, curr);
            }
        }
        return result;
    }
}