力扣题解:485.最大连续1的个数(Python版)

本文讲解如何用Python解决一个关于二进制数组中最大连续1个数计数的问题,通过示例代码阐述逻辑,并揭示返回结果的特殊处理方式。适合理解数组操作和迭代的编程初学者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、题目描述

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

  1. 输入的数组只包含0和1 。
  2. 输入数组的长度是正整数,且不超过10000。

二、完整代码

def findMaxConsecutiveOnes(nums):
    count = result = 0  #count用来记录每段连续1的个数
                        #result用来存放每个阶段最大连续1的个数
    for i in nums:
        if i==1:
            count += 1   #遍历到的数为1时,接着计数+1
        else:
         #遍历到的数不为1时,比较此时result和count的值
         #将其中大的赋值给result
            result = max(result,count)
            count =0  #计数归零
    return max(result,count)

我的代码注释写的很详细,大家可以看注释哦。

三、补充说明

需要注意的地方是,最后return的是max(result,count),而不能直接rerurn result。这是为什么呢?
如果数组最后一个元素是1,遍历完成,程序是不会执行result = max(result,count)这行语句。那最后return的result就不是最终结果,而是上一个阶段保存的result,这个值并没有和最后阶段的count值进行比较,所以不能保证是最大的。
说了这么多不知道大家听懂了没?

四、总结反思

刷题的乐趣和解开一道数学难题一样,很有成就感。大家如果有什么没听明白的地方记得找小赵同学哦~~欧耶

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小赵同学-

非常感谢你!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值