最大连续1的个数

此博客链接:

最大连续1的个数

题目链接:https://leetcode-cn.com/leetbook/read/array-and-string/cd71t/

题目

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

示例:

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

题解

最近我在刷双指针的题目,这题属于双指针里的题目,但是本题我没有使用双指针。

思想:定义一个变量max存储最后结果,在定义一个变量count存储每次连续1的个数,当元素等于1时,count加一,当元素不等于1时,取max和count种较大的值赋值给max。最后需要注意,数组的最后可能是多个连续1组成的,需要把max和count种较大的值赋值给max。

代码

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

结果

出来混总是要还的
原文地址:https://www.cnblogs.com/ping2yingshi/p/14957316.html