LeetCode 485:连续最大1的个数 Max Consecutive Ones(python java)
公众号:爱写bug
给定一个二进制数组, 计算其中最大连续1的个数。
Given a binary array, find the maximum number of consecutive 1s in this array.
示例 1:
输入: [1,1,0,1,1,1] 输出: 3 解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3.
注意:
- 输入的数组只包含
0
和1
。 - 输入数组的长度是正整数,且不超过 10,000。
Note:
- The input array will only contain
0
and1
. - The length of input array is a positive integer and will not exceed 10,000
解题思路:
记录一个指针向右移动,用一个数记录1的个数,遇1就累加1,遇0就倒置为0。具体见 Java 注释。
Java:
class Solution{ public int findMaxConsecutiveOnes(int[] nums) { int temp=0,count=0;//temp记录当前连续1的个数,count记录当前最大连续1的个数 for (int i=0;i<nums.length;i++){//指针右移 if(nums[i]==1){ temp++;//遇1累加1 }else{ if(count<temp){ count=temp;//记录目前最大连续1的个数 } temp=0;//遇0倒置为0 } } return (count>temp)? count:temp;//返回count、temp中较大的数 } }
注意:
返回值必须是count
与temp
中较大的一个。明明已经比较了count
和temp
,并把较大的赋值给count
,很明显是count
更大,为什么还要比较?
这是因为还有一种输入数组全为1的情况,此时temp一直累加,从未遇到0,所以count自始至终都不可能得到temp的值。
python3:
class Solution: def findMaxConsecutiveOnes(self, nums: List[int]) -> int: count=temp=0 for num in nums: if num==1: temp+=1 else: if(count<temp): count=temp temp=0 return count if count>temp else temp
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
python scrapy框架爬取haozu 数据
1.创建项目 在控制台通过scrapy startproject 创建项目 我们通过scrapy startproject haozu 创建爬虫项目 2.创建爬虫文件 在控制台 进入spiders 文件夹下 通过scrapy genspider <网站域名> scrapy genspider haozu_xzl www.haozu.com 创建爬虫文件 3.在爬虫文件中 haozu_xzl.py写代码 python version=3.6.0 -- coding: utf-8 -- import scrapyimport requestsfrom lxml import htmletree =html.etreefrom ..items import HaozuItemimport random class HaozuXzlSpider(scrapy.Spider): # scrapy crawl haozu_xzl name = 'haozu_xzl' # allowed_domains = ['www.haozu.com/sz/zuxiezilou/'] start_u...
- 下一篇
ASP.NET Core on K8S学习初探(2)部署WebAPI到K8S
在上一篇《单节点环境搭建》中,通过Docker for Windows在Windows开发机中搭建了一个单节点的K8S环境,接下来就是动人心弦的部署ASP.NET Core API到K8S了。但是,在部署之前,我还是把基本的一些概念快速地简单地不求甚解地过一下,过完这些基本概念就可以体验一下部署一个ASP.NET Core WebAPI到K8S了。 一、K8S集群基本概念 (1)集群 首先,K8S集群也是需要多台服务器组成,作为容器的编排管理平台,只有一个节点在生产环境是不够的。 (2)Node 其次,Node作为K8S集群中的工作节点,一个Node可以是VM或物理机,它运行真正的应用程序。 K8S中的Node又分为Master和Worker,和Hadoop集群中的NameNode和DataNode类似,简而言之就是一个是负责调度(维护集群状态)的,一个是负责干活(运行容器)的。 (3)资源 在K8S每个组件(比如Pod,Service等)开放对外暴露的都是一组RESTful API,所以我们所有对于组件的操作都可以通过RESTful API来完成,因此我们可以将其看作是资源。 (4)...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7安装Docker,走上虚拟化容器引擎之路