leetcode如何计算最大连续1的个数
发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,这篇文章主要介绍leetcode如何计算最大连续1的个数,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、题目内容给定一个二进制数组, 计算其中最大连续 1 的个数。示例:输入
千家信息网最后更新 2025年01月24日leetcode如何计算最大连续1的个数
这篇文章主要介绍leetcode如何计算最大连续1的个数,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
一、题目内容
给定一个二进制数组, 计算其中最大连续 1 的个数。
示例:
输入:[1,1,0,1,1,1]
输出:3
解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.
提示:
输入的数组只包含 0 和 1 。
输入数组的长度是正整数,且不超过 10,000。
二、解题思路
1.直接记录长度然后每次比较大小即可;
2.滑动窗口,每次增加窗口长度,直到为0则记录长度并比较当前最大的长度,然后重新从为1的地方开始记录长度,如此反复比较即可;
三、代码
class Solution: def findMaxConsecutiveOnes1(self, nums: list) -> int: count = 0 ans = 0 for num in nums: if num == 1: count += 1 ans = max(ans, count) else: count = 0 return ans def findMaxConsecutiveOnes2(self, nums: list) -> int: left, right = 0, 0 ans = 0 while right < len(nums): if nums[right] == 1: right += 1 else: ans = max(ans, right - left) right += 1 left = right ans = max(ans, right - left) return ansif __name__ == '__main__': s = Solution() nums = [1, 1, 0, 1, 1, 1] ans1 = s.findMaxConsecutiveOnes1(nums) print(ans1) ans2 = s.findMaxConsecutiveOnes2(nums) print(ans2)
以上是"leetcode如何计算最大连续1的个数"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
长度
最大
个数
内容
数组
输入
篇文章
二进制
代码
价值
兴趣
地方
大小
小伙
小伙伴
开头
思路
整数
更多
知识
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
永恒之塔怀旧服选择哪个服务器
为什么要用网络安全设备
dbc数据库扩展
赤峰网络安全周
数据库软件与链表和栈
西城数据库安全防护系统
php获取数据库增删改查
服务器时间怎么获得
网络安全相关大学
软件开发数据模型
盘锦网络技术公司
邯郸应用软件开发价格表
手机应用软件开发区烧烤
美帮帮互联网科技有限公司
北京有竹居网络技术
温江网络安全宣传知识
服务器机箱能放普通主板吗
网络技术规范分为
怒江服务器上门回收报价
dns服务器 架设
怎么转mssql数据库
对外开具软件开发怎么做账
沃健网络技术
栖霞管理系统软件开发推荐
上海瑞志网络技术有限公司
魔兽世界 无尽之海服务器
公务员职位网络安全技术
网络安全基干民兵
处理10w以上数据用什么数据库
电子枪软件开发