最大连续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; } }
结果
出来混总是要还的