一、题目描述

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

示例 1:

输入: [1,1,0,1,1,1]
输出: 3
解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3.

注意:

  • 输入的数组只包含 0 和1。
  • 输入数组的长度是正整数,且不超过 10,000。

来源:力扣(LeetCode)

链接:https://leetcode-cn.com/problems/max-consecutive-ones

二、题解

方法一:基础法

此题很简单,当使用一个for循环遍历数组nums时,取一个元素nums[i],若nums[i]为1,则记录最大连续1个数的临时变量temp自增1,接下来比较temp与max的大小,若max<temp,则更新max,表明找到了最终的最大连续1个数。若nums[i]不为1,则表明连续1的序列中断了,重新将temp置为0。遍历数组结束后返回max的值即可。

完成时间:2020.05.07

class Solution:
def findMaxConsecutiveOnes(self, nums: List[int]) -> int: temp, max = 0, 0
for i in range(len(nums)):
if nums[i] == 1:
temp += 1
max = temp if max < temp else max # 三元运算符
else:
temp = 0
return max

方法一使用了一趟循环:

时间复杂度:\(O(n)\) ,\(n\)指的是数组长度。

空间复杂度:\(O(1)\)。

最新文章

  1. 手把手教从零开始在GitHub上使用Hexo搭建博客教程(二)-Hexo参数设置
  2. dropify插件的字符串
  3. 对char类型的理解以及对补码的理解分析
  4. OGG-01232 Receive TCP params error: TCP/IP error 104 (Connection reset by peer), endpoint:
  5. C++ 并发消息队列
  6. html --- VML --- javascript --- 旋转矩形
  7. ASP获取当前页面带参数的网址(URL地址)的方法
  8. lamp 中基本配置常识
  9. TI C66x DSP 系统events及其应用 - 5.8(ISTP)
  10. PCL点云库中怎样读取指定的PCD文件,又一次命名,处理后保存到指定目录
  11. Debian6单用户模式
  12. SDL2源码分析2:窗体(SDL_Window)
  13. shell练习题4
  14. 如何在spring-boot web项目中启用swagger
  15. logrotate-日志切割示例
  16. 解决svchost占用内存过高问题
  17. socket_简单报头
  18. Springmvc file多附件上传 显示 删除操作
  19. Maven配置与创建
  20. 2018年江西理工大学C语言程序设计竞赛(高级组) 三角平方数

热门文章

  1. 【python系统学习14】类的继承与创新
  2. FJUT2019暑假第二次周赛题解
  3. Salesforce Spring &#39;20新功能集锦系列(二)
  4. css特效sh
  5. 1. webpack 复制文件
  6. 最简单的懒人springcloud之Eureka(服务注册与发现)
  7. 高级数据结构---赫(哈)夫曼树及java代码实现
  8. CSS中“~”(波浪号)、“,”(逗号)、“+”(加号)、“&gt;”(大于号)、“ ”(空格)详解
  9. tp5中的input助手函数
  10. 2019-2020-1 20199308《Linux内核原理与分析》第一周作业