LeetCode刷题485-简单-最大连续1的个数
Posted 布小禅
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode刷题485-简单-最大连续1的个数相关的知识,希望对你有一定的参考价值。
☀️ 前言 ☀️
算法作为极其重要的一点,是大学生毕业找工作的核心竞争力,所以为了不落后与人,开始刷力扣算法题!
🙀 作者简介 🙀
大家好,我是布小禅,一个尽力让无情的代码变得生动有趣的IT小白,很高兴能偶认识你,关注我,每天坚持学点东西,我们以后就是大佬啦!
📢 博客主页:❤布小禅❤
📢 作者专栏:
❤Python❤
❤Java❤这是我刷第 41/100 道力扣简单题
💗 一、题目描述 💗
给定一个二进制数组, 计算其中最大连续 1 的个数。
示例1:
输入:[1,1,0,1,1,1]
输出:3
解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.
提示:输入的数组只包含 0 和 1 。
输入数组的长度是正整数,且不超过 10,000
💁 二、题目解析 💁
思 路 1 : \\color{green}{思路1:} 思路1:
遍历一遍数组
定义两个变量,一个用于记录1的数量sum1,一个用来记录最大的1个数sum2
遇到1,sum1+1,遇到0,将sum1和sum2的最大值赋值给sum2,sum1清零
🏃 三、代码 🏃
☁️ 1️⃣. python ☁️
class Solution:
def findMaxConsecutiveOnes(self, nums: List[int]) -> int:
sum1,sum2 = 0, 0
for i in nums:
if i==1:
sum1+=1
else:
sum2=max(sum2,sum1)
sum1=0
sum2=max(sum2,sum1)
return sum2
❄️ 2️⃣. C# ❄️
public class Solution {
public int FindMaxConsecutiveOnes(int[] nums)
{
int sum1 = 0;
int sum2 = 0;
foreach(int i in nums)
{
if (i == 1) sum1++;
else
{
sum2 = max(sum2, sum1);
sum1 = 0;
}
}
return max(sum1, sum2);
}
public static int max(int a, int b)
{
if (a > b) return a;
else return b;
}
}
🌔 结语 🌔
坚持最重要,每日一题必不可少!😸
期待你的关注和督促!😛
以上是关于LeetCode刷题485-简单-最大连续1的个数的主要内容,如果未能解决你的问题,请参考以下文章
leetcode刷题52.最大连续 1 的个数——Java版