首页 > 编程语言 >[leetcode]485. 最大连续1的个数(Java实现)

[leetcode]485. 最大连续1的个数(Java实现)

时间:2024-11-16 16:16:58浏览次数:3  
标签:Java nums 复杂度 示例 个数 连续 485 leetcode 解法

题目

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

示例 1:

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

示例 2:

输入:nums = [1,0,1,1,0,1]
输出:2

解法1

嗯,速度有进步

我感觉我想出这个思路还是挺快的,两个指针找连续1的头尾,相减得到个数。时间复杂度是O(n),但是好像也不是最快的解法。啊要去学习一下。

解法2

这个思路我觉得其实挺好的,但时间还是2ms。通过累加的方式,因为题目中已经提示了所有的数字不是0就是1,遇到0就清零,遇到1就累加。我觉得比上一种更加清晰。不会感觉有很多if情况要考虑。

解法3

滑动窗口解法。移动窗口的左右两端。其实我感觉思路和第一种很像,但是由于,他的if语句只有为0的时候进入了,为1的时候不用进入判断语句,所以相同时间复杂度下更省时间,太妙了。

标签:Java,nums,复杂度,示例,个数,连续,485,leetcode,解法
From: https://blog.csdn.net/m0_73184257/article/details/143806920

相关文章

  • [leetcode]283. 移动零(Java实现)
    题目:给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。请注意 ,必须在不复制数组的情况下原地对数组进行操作。示例1:输入:nums=[0,1,0,3,12]输出:[1,3,12,0,0]示例2:输入:nums=[0]输出:[0]第一种解法(帮助我这种小白......
  • java操作pdf文本域填充内容
    引入jar包<dependencies><dependency><groupId>com.itextpdf</groupId><artifactId>itext7-core</artifactId><version>7.2.5</version><type>pom&......
  • Java基础——网络编程
    可以让设备中的程序与网络上其他设备中的程序进行数据交互(实现网络通信的)。1.基本的通信架构基本的通信架构有2种形式:CS架构(Client客户端/Server服务端)、BS架构(Browser浏览器/Server服务端)无论CS架构,还是BS架构的软件都必须依赖网络编程2.网络通信的三要素2.1.IP全称互......
  • Java基础——多线程
    1.线程是一个程序内部的一条执行流程程序中如果只有一条执行流程,那这个程序就是单线程的程序2.多线程指从软硬件上实现的多条执行流程的技术(多条线程由CPU负责调度执行)2.1.如何创建多条线程Java通过java.lang.Thread类的对象来代表线程2.1.1.方式一:继承Thread类//1......
  • Java-面向对象(下)
    下面让我们继续学习面向对象类的继承在现有类的基础上去构建一个新的类。现有类叫做基类(baseclass)、超类(superclass)新的类叫做派生类(derivedclass)、子类(孩子类)(childclass)如果一个类想要继承另外一个类,需要用到extends关键字。class基类{}class子类extends......
  • #Java-面向对象进阶-1
    1.static静态属性static是Java中的一个修饰符,可用来修饰成员变量、成员方法a.静态变量被static修饰的成员变量称为静态变量静态变量被该类的所有成员共享调用方式:类名调用(推荐)对象名调用例:创建方法//在创建的类中:publicstaticStringname;调用:假设类为:Stud......
  • #Java-面向对象进阶-多态
    1.多态多态是面向对象三大特征之一,表示同类型的对象表现不同的形态表现形式:父类类型对象名称=子类对象;多态的前提:有继承关系有父类引用子类Fuf=newZi();有方法重写使用场景举例:当需要写一个注册的方法,但是这个方法要能实现不同对象的注册例如:老......
  • Java序列化与反序列化深度解析
    一、引言在Java开发中,序列化与反序列化是非常重要的概念和技术手段。它允许我们将对象转换为字节流以便于存储或传输,然后在需要的时候再将字节流还原为对象。这一机制在很多场景中都有着广泛的应用,例如数据持久化、分布式系统中的远程方法调用(RMI)、缓存等。本文将深入探讨......
  • (nice!!!)(LeetCode) 3240. 最少翻转次数使二进制矩阵回文 II (分类讨论、数组)
    题目:3240.最少翻转次数使二进制矩阵回文II思路:分类讨论,需要对行和列的个数进行讨论,时间复杂度为0(nm),细节看注释。C++版本:classSolution{public:intminFlips(vector<vector<int>>&grid){intans=0;intn=grid.size(),m=grid[0].size();......
  • (LeetCode 热题 100) 49. 字母异位词分组(哈希表、字符串)
    题目:49.字母异位词分组思路:哈希表。将每个字符串升序排序,然后采用哈希表即可。C++版本:classSolution{public:vector<vector<string>>groupAnagrams(vector<string>&strs){ //哈希表unordered_map<string,vector<string>>mp;//遍历......