每日leetcode--删除有序数组中的重复项

问题描述

给定一个包含重复元素的整数列表nums,我们需要移除其中的重复元素,并返回去重后的列表长度。

题目链接:. - 力扣(LeetCode)

解决方案: 我们可以使用一个额外的列表来存储不重复的元素,并通过遍历原始列表,将不重复的元素添加到额外的列表中。最后,我们将原始列表更新为额外列表的内容,并返回去重后的列表长度。

python代码

class Solution:def removeDuplicates(self, nums: List[int]) -> int:count = 0used = []for i in nums:if i not in used:used.append(i)else:count+=1nums[:] = usedreturn len(nums)

代码解析

在上述代码中,我们使用了两个变量:

used 列表用于存储不重复的元素,

count 用于计数重复元素的个数。

通过遍历原始列表 nums,我们判断每个元素是否已经存在于 used 列表中,如果不存在则将其添加到 used 列表中,否则增加 count 的值。最后,我们将原始列表 nums 更新为 used 列表的内容,并返回去重后的列表长度。

其中,

nums[:] = used

能修改nums本身数据,如果是

nums= used

则只能将nums指向used,而不会改变nums本身,类似于C语言中的传地址与传值,

以上就是解决去除重复元素问题的Python算法。希望本篇博客能对你有所帮助!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/699351.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux 开启防火墙 --- FirewallD is not running 问题修复

问题 在配置SSL认证后,需要放开防火墙的443端口,出现了FirewallD is not running错误 [rootxxx ~]# firewall-cmd --zonepublic --add-port443/tcp --permanent FirewallD is not running解决 只需要开启防火墙即可。 【1】先通过systemctl status fir…

旅游分享系列之:福建旅游攻略

旅游分享系列之:福建旅游攻略 一、漳州1.福建土楼2.云水谣3.四菜一汤景点 二、厦门1.园林博览苑2.海上自行车道3.山海步道4.海滩5.闽南菜6.落日 三、泉州1.衙口沙滩2.海上日出3.珞珈寺4.海滩烟花 一、漳州 游玩2个景点:云水谣,四菜一汤可以住…

基于Java+SpringBoot+Vue前后端分离仓库管理系统设计实现

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

QT常用类

五、常用类 QString 字符串类(掌握) QString是Qt的字符串类,与C的std::string相比, 不再使用ASCII编码。QString使用的是Unicode编码。 QString中每个字符都是一个16位的QChar,而不是8位的char。 QString完全支持中文&…

深入探究node搭建socket服务器

自从上篇中sokect实现了视频通话,但是是使用ws依赖库实现的服务端,所以最近再看ws源码,不看不知道,一看很惊讶。 接下来一点点记录一下,如何搭建一个简易的服务端socket,来实现上次的视频通讯。 搭建一个…

详解AP3216C(三合一sensor: 光照、距离、照射强度)驱动开发

目录 概述 1 认识AP3216C 1.1 AP3216C特性 1.2 AP3216C内部结构 1.3 AP3216C 硬件电路 1.4 AP3216C工作时序 1.4.1 I2C 写数据协议 1.4.2 I2C 读数据协议 1.5 重要的寄存器 1.5.1 系统配置寄存器 1.5.2 和中断相关寄存器 1.5.3 IR数据寄存器 1.5.4 ALS 数据寄存器 …

十二、线性代数二-二次型:

目录 1、二次型的定义: 2、二次矩阵与二次型的理解: 3、二次型矩阵的性质: 4、二次型的标准型: 5、二次型的正定型: ①正定型的概念: ②二次型正定型的判定:

代码随想录算法训练营第59天 | 583.两个字符串的删除操作 + 72.编辑距离 + 编辑距离总结篇

今日任务 583. 两个字符串的删除操作 72. 编辑距离 编辑距离总结篇 583.两个字符串的删除操作 - Medium 题目链接:. - 力扣(LeetCode) 给定两个单词 word1 和 word2 ,返回使得 word1 和 word2 相同所需的最小步数。 每步 可以…

tombstone常见崩溃信号说明

一、概念说明 在应用崩溃的时候,我们将会获取到两个信息: signal: 信号量,下文将会详细的说明不同的信号量及其含义。code: 错误码, 除了几个所有信号量(signal) 公共的错误码(code),一般不同信号量(signal)有特定的错误码(code),…

LeetCode题练习与总结:三数之和

一、题目 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] nums[j] nums[k] 0 。 请你返回所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的三元组…

【数学建模规则】2024年第九届数维杯大学生数学建模挑战赛参赛指南

一、竞赛介绍 数维杯大学生数学建模挑战赛每年分为两场,每年上半年为数维杯国赛(5月,俗称小国赛),下半年为数维杯国际赛(11月),2023年第八届数维杯大学生数学建模挑战赛共有近1.4万名学生参赛,…

Unity之PUN2插件实现多人联机射击游戏

目录 📖一、准备工作 📺二、UI界面处理 📱2.1 登录UI并连接PUN2服务器 📱2.2 游戏大厅界面UI 📱2.3 创建房间UI 📱2.4 进入房间UI 📱2.5 玩家准备状态 📱2.6 加载战斗场景…

vue proxy解决跨域问题

https://blog.csdn.net/tttttrrrhh/article/details/127685318 cims系统ui

java 面向对象-上:类的结构之二

类的设计中,两个重要结构之二:方法 方法 描述类应该具的功能。 比如:Math类:sqrt()\random() \... Scanner类:nextXxx() ... Arrays类:sort() \ binarySearch() \ toString() \ equals() \ ... 1.举例 p…

【nginx作为缓存服务器】

目录 一、Nginx缓存介绍二、Nginx配置缓存1.缓存开关:proxy_cache2.代理缓存:proxy_cache_path4.缓存过期 一、Nginx缓存介绍 Nginx可以对浏览器缓存进行配置,让一些静态资源缓存到用户本地存储,以提高页面的响应速度,也能降低服务端的压力&…

c入门第二十一篇: 学生成绩管理系统之成绩排序

前言 在学生成绩管理系统中,必然面临着排序的问题。这里我们简单的将之前讲过的冒泡排序应用于我们的学生成绩管理系统中。 冒泡排序是一种简单的排序算法,它重复地遍历要排序的列表,比较相邻的两个项,如果相邻不是预期的顺序时交…

[Java 项目亮点] 三层限流设计

思路来源:bilibili 河北王校长 文章目录 面试官可能会问你能详细介绍一下Nginx的http_limit_req_module模块吗?你能解释一下如何在Nginx中配置http_limit_req_module模块吗?你知道如何调整Nginx的http_limit_req_module模块以适应不同的业务需…

【服务器数据恢复】通过reed-solomon算法恢复raid6数据的案例

服务器数据恢复环境: 一台网站服务器中有一组由6块磁盘组建的RAID6磁盘阵列,操作系统层面运行MySQL数据库和存放一些其他类型文件。 服务器故障: 该服务器在工作过程中,raid6磁盘阵列中有两块磁盘先后离线,不知道是管理…

Linux--自定义shell

shell shell就是操作系统提供给用户与操作系统进行交互的命令行界面。它可以理解为一个用户与操作系统之间的接口,用户可以通过输入命令来执行各种操作,如文件管理、进程控制、软件安装等。Shell还可以通过脚本编程实现自动化任务。 常见的Unix系统中使…

华为机试真题实战应用【算法代码篇】-报文回路(附python、C++和JAVA代码实现)

目录 问题描述 输入描述 输出描述 样例 组播协议-IGMP 1.IGMPv1基本概念