当前位置: 首页 > news >正文

python算法-最大连续1的个数删除有序数组中的重复项--Day020

灵活应用列表和字段

文章目录

  • 前言
    • LeetCode 题⽬太多,全部刷完肯定不是最好最有效的⽅式,其中涉及到的基本知识点来来回回就那些,同时有⾮常多的类似题,所以刷经典题,掌握这些经典题是最有效的学习⽅式。 本人精选200-500算法题,让大家更好掌握。
    • 例1.最⼤连续 1 的个数
    • 例2.删除有序数组中的重复项


前言

LeetCode 题⽬太多,全部刷完肯定不是最好最有效的⽅式,其中涉及到的基本知识点来来回回就那些,同时有⾮常多的类似题,所以刷经典题,掌握这些经典题是最有效的学习⽅式。
本人精选200-500算法题,让大家更好掌握。

例1.最⼤连续 1 的个数

给定⼀个⼆进制数组 nums , 计算其中最⼤连续 1 的个数。
示例:
1.nums = [1,1,0,1,1,1] 输出:3 解释:开头的两位和最后的三位都是连续 1 ,所以最⼤连续 1 的个数是 3.

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

代码如下(示例):

class sol():def ss(self,list):last = 0# last可以取任何0或-1j = 0for i,v in enumerate(list):# 从左到右访问数组 numsif v == 0:# 1、当前元素为 0 ,更新 last的值last = ielse:j = max(j,i-last)# 通过 last 可以获取当前元素距离最前⾯的 1 的个数# 对⽐之前的 j ,更新获取最⼤值return j
s = sol()
li = [1,0,1,1,0,1,1,1,1,1,1,0]
a = s.ss(li)
print(a)

得到的结果:6

例2.删除有序数组中的重复项

给你⼀个 升序排列 的数组 nums ,请你原地 删除重复出现的元素,使每个元素 只出现⼀次 ,返回删除后数组的新⻓度。元素的 相对顺序 应该保持 ⼀致 。
示例:
1.nums = [1,1,2] 输出:2,
2.nums = [1,2] 解释:函数应该返回新的⻓度 2 ,并且原数组 nums 的前两个元素被修改为 1, 2 。不需要考虑数组中超出新⻓度后⾯的元素。

代码如下(示例):

class sol:def rem(self,list):n = len(list)#长度j = 0#设置0for i in range(n):#遍历if i == 0 or list[i] != list[i-1]:#设置条件,进行筛选list[j] = list[i]j += 1return j
ss = sol()
list = [1,1,1,2,2,2,3,3,4,4,5,5]
a = ss.rem(list)
print(a)

得到的结果:5


相关文章:

  • go依赖查询工具之godepgraph(分析main.go的依赖树)
  • 2025.05.14华为机考笔试题-第二题-200分
  • 鸿蒙OSUniApp制作多选框与单选框组件#三方框架 #Uniapp
  • ET EntityRef EntityWeakRef 类分析
  • C#语法基础
  • 分布式调度的--多模型协同工作实践方案
  • 语音识别——声纹识别
  • EasyExcel详解
  • 2025年,多模态特征融合只会更火
  • 争对机器学习和深度学习里Python项目开发管理项目依赖的工具中方便第三方库和包的安装
  • 【MyBatis插件】PageHelper 分页
  • 飞牛NAS本地部署开源TTS文本转语音工具EasyVoice与远程使用流程
  • 前端流行框架Vue3教程:17. _组件数据传递
  • 深入解析HTTP协议演进:从1.0到3.0的全面对比
  • 2025认证杯数学建模第二阶段A题小行星轨迹预测思路+模型+代码
  • 机器学习中采样哪些事
  • React 第四十二节 Router 中useLoaderData的用途详解
  • 牛客网NC22015:最大值和最小值
  • 全面解析机器学习与深度学习中的模型权重文件格式与应用场景
  • 【HarmonyOS 5】鸿蒙mPaaS详解
  • 2000多年前的“新衣”长这样!马王堆文物研究新成果上新
  • “家国万里时光故事会” 举行,多家庭共话家风与家国情怀
  • 《上海市建筑信息模型技术应用指南(2025版)》发布
  • 上海制造佳品汇大阪站即将启幕,泡泡玛特领潮出海
  • 工商银行杭州金融研修院原院长蒋伟被“双开”
  • 杨文庄当选中国人口学会会长,曾任国家卫健委人口家庭司司长