485. 最大连续 1 的个数[简单]

155 阅读1分钟

题目

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

解法一

    public int findMaxConsecutiveOnes(int[] nums) {
        int n = nums.length;
        int max = 0;
        int count = 0;
        for (int i = 0; i < n; i++) {
            if (nums[i] == 1) {
                count++;
                max = Math.max(max, count);
            } else {               
                count = 0;
            }
        }
        return max;
    }

上面执行耗时2ms

解法二


    public int findMaxConsecutiveOnes(int[] nums) {
        int n = nums.length;
        int max = 0;
        int count = 0;
        for (int i = 0; i < n; i++) {
            if (nums[i] == 1) {
                count++;
            } else {
                max = Math.max(max, count);
                count = 0;
            }
        }
        // 最后累加的需要再求一次max
        max = Math.max(max, count);
        return max;
    }

上面执行耗时1ms