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版

⭐算法入门⭐《线性枚举》简单05 —— LeetCode 485. 最大连续 1 的个数

LeetCode(485. 最大连续1的个数)

485-最大连续1的个数

LeetCode_485_数组_最大连续 1 的个数

LeetCode #485 最大连续 1 的个数