最大连续1的个数
给定一个二进制数组 nums , 计算其中最大连续 1 的个数。
示例 1:
输入:nums = [1,1,0,1,1,1]
输出:3
解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.
示例 2:
输入:nums = [1,0,1,1,0,1]
输出:2
提示:
1 <= nums.length <= 105
nums[i] 不是 0 就是 1.
相关标签
Java
作者:LeetCode
链接:https://leetcode.cn/leetbook/read/array-and-string/cd71t/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
尝试解答
第一次,错误
class Solution {
public int findMaxConsecutiveOnes(int[] nums) {
int n=nums.length;
int max=0;
int i,j=0;
for(i=0;i<n;i++){
if(nums[i]==1){
j=j+1;
}
else{
if(j>max){
max=j;
}
j=0;
}
}
return max;
}
}
第二次,正确但未用上双指针
class Solution {
public int findMaxConsecutiveOnes(int[] nums) {
int n=nums.length;
int max=0;
int i,j=0;
for(i=0;i<n;i++){
if(nums[i]==1){
j=j+1;
if(j>max){
max=j;
}
}
else{
j=0;
}
}
return max;
}
}
官方答案
class Solution {
public int findMaxConsecutiveOnes(int[] nums) {
int count=0,maxcount=0;
int n=nums.length;
for(int i=0;i<n;i++){
if(nums[i]==1){
count++;
}else{
maxcount=Math.max(count,maxcount);
count=0;
}
}
maxcount=Math.max(count,maxcount);
return maxcount;
}
}
从答案中学习
1.Java Math.max() 方法
2.