angularjs 元素重复指定次数_[LeetCode] 442. 数组中重复的数据

1839a124451a89b2eee20190351bfe7e.png

[LeetCode] 442. 数组中重复的数据

题目链接: https://leetcode-cn.com/problems/find-all-duplicates-in-an-array

难度:中等

通过率:61.5%

题目描述:

给定一个整数数组 a,其中1 ≤ a[i] ≤ nn 为数组长度), 其中有些元素出现 两次 而其他元素出现 一次

找到所有出现 两次 的元素。

你可以不用到任何额外空间并在O( n )时间复杂度内解决这个问题吗?

示例:

**输入:**
[4,3,2,7,8,2,3,1]**输出:**
[2,3]

思路:

思路一:排序

通过索引号排序,比如数字4放到索引3的位置,最后找排序后数组,与索引号没有相差1便是重复元素

思路二:绝对值

借用索引号,因为是在1~n之间,那么我们可以用索引0表示数字1,索引1表示数字2...,当有个数字num,我们将num - 1的位置的数字取相反数,连续两次取相反数会变回来,便可判断元素出现次数。

所以时间复杂度为$O(n)$

相似题型:448. 找到所有数组中消失的数字

代码:

思路一:

class Solution:def findDuplicates(self, nums: List[int]) -> List[int]:res = []for i in range(len(nums)):while nums[nums[i] - 1] != nums[i]:tmp = nums[i]# 注意要保持这个位置loc = nums[i] - 1nums[i] = nums[nums[i] - 1]nums[loc] = tmpfor idx, val in enumerate(nums, 1):if val != idx:res.append(val)return res

思路二:

class Solution:def findDuplicates(self, nums: List[int]) -> List[int]:res = []for i in range(len(nums)):loc = abs(nums[i]) - 1if nums[loc] < 0:res.append(loc + 1)nums[loc] = -nums[loc]return res

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

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

相关文章

docker 安装mysql 实战文档_docker 安装mysql

PassJava (佳必过) 项目全套学习教程连载中&#xff0c;关注公众号第一时间获取。docker 安装mysql1.下载镜像sudo docker pull mysql:5.7ubuntuVM-0-13-ubuntu:~$ sudo docker pull mysql:5.75.7: Pulling from library/mysqlc499e6d256d6: Pull complete22c4cdf4ea75: Pull c…

python 补前导零_Python正则表达式| 程序从IP地址中删除前导零

python 补前导零Given an IP address as input, write a Python program to remove leading zeros from it. 给定一个IP地址作为输入&#xff0c;编写一个Python程序以从中删除前导零。 Examples: 例子&#xff1a; Input: 216.08.094.196Output: 216.8.94.196Input: 216.08…

眼球追踪

眼球追踪类似于头部追踪&#xff0c;但是图像的呈现取决于使用者眼睛所看的方向。例如&#xff0c;人们可以用“眼神”完成一种镭射枪的瞄准。眼球追踪技术很受VR专家们密切关注。Oculus创始人帕尔默拉奇就曾称其为“VR的心脏”。对于人眼位置的检测&#xff0c;能够为当前所处…

mysql 创建分区表_Mysql分区表及自动创建分区Partition

Range分区表建表语句如下&#xff0c;其中分区键必须和id构成主键和唯一键CREATE TABLE test1 (id char(32) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT ‘自增主键(guid)‘,create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ‘创建时间‘,partition_key …

python下载文件暂停恢复_Python关于Threading暂停恢复解决办法

我们都知道python中可以是threading模块实现多线程, 但是模块并没有提供暂停, 恢复和停止线程的方法, 一旦线程对象调用start方法后, 只能等到对应的方法函数运行完毕. 也就是说一旦start后, 线程就属于失控状态. 不过, 我们可以自己实现这些. 一般的方法就是循环地判断一个标志…

信息系统状态过程图_过程状态图中使用的重要术语| 操作系统

信息系统状态过程图1)上下文切换 (1) Context Switching) Whenever a process is transferred within the system, it moves within different states. These states are known as the process states. When a process goes from one state to another state inside the system…

mysql 吧库下的表名都加_mysql数据库表名大小写问题

mysql数据库表名大小写问题mysql数据库linux版本表名、字段名默认大小写敏感&#xff0c;即区分大小写。查看mysql有关大小写参数&#xff1a;lower_case_file_system是一个只读参数&#xff0c;无法被修改&#xff0c;这个参数是用来告诉你在当前的系统平台(linux\windows等)下…

rgb 灰色_金属+RGB+无线,我要买爆这款海盗船VIRTUOSO鉴赏家游戏耳机

海盗船最近新出的旗舰耳机&#xff0c;VIRTUOSO RGB Wireless SE&#xff0c;中文名叫鉴赏家。耳机一改往日欧美电竞风&#xff0c;改走金属质感高大上简约风&#xff0c;不过讲真&#xff0c;这颜值我吃起来很香。考虑文章过长&#xff0c;我先概括一下入手理由&#xff0c;具…

python 基类 派生类_在Python中具有两个子(派生)类的继承示例

python 基类 派生类In this program, we have a parent class named Details and two child classes named Employee and Doctor, we are inheritance the class Details on the classes Employee and Doctor. And, finally creating two objects of Employee and Doctor class…

连接postgresql

# psycopg2enginecreate_engine(postgresqlpsycopg2://scott:tigerlocalhost/mydatabase)#python 连接postgresql使用psycopg2作为默认的DBAPIThe first time a method like Engine.execute()orEngine.connect()is called, the Engine establishes a real DBAPI connection to …

n的阶乘程序python_Python程序对N阶乘的尾随零进行计数

n的阶乘程序pythonFormula used: 使用的公式&#xff1a; Trailing 0s in N! Count of 5s in prime factors of n! floor(n/5) floor(n/25) floor(n/125) ....Example: 例&#xff1a; Input: N 23Output: 4Factorial of 23 is 25852016738884976640000 which has four …

c mysql使用场景_Mysql 场景

1个SQL题&#xff0c;1个场景题&#xff0c;会有点难度&#xff01;SQL题该SQL题大量涉及到row_number&#xff0c;case when&#xff0c;group by等高级用法&#xff0c;有一定的实用价值&#xff0c;总结出来&#xff0c;供日后参考Question.1&#xff1a;分组汇总给定筛选条…

以己为壑

2019独角兽企业重金招聘Python工程师标准>>> 今天把软件工程里面关于面向对象的设计学完了,使我对面向对象OOA和OOD的思想有了进一步的认识,各科知识千沟万壑,犬牙交错,的确是这样,能蒙住自己眼的永远是你自己,而不是这个世界,因为美就在那里;裹住自己双足的的永远是…

macos安装vscode_如何使用VSCode进行PostgreSQL开发及调试

Visual Studio Code (VSCode)是一个轻量级但功能强大的源代码编辑器&#xff0c;可在桌面上运行&#xff0c;适用于Windows&#xff0c;macOS和Linux。 它内置了对JavaScript&#xff0c;TypeScript和Node.js的支持&#xff0c;并具有丰富的其他语言(如C&#xff0c;C&#xff…

最小生成树 kruskal_使用Kruskal算法求解Java最小生成树问题

最小生成树 kruskalIn Electronic Circuit we often required less wiring to connect pins together. We can model this wiring problem with a connected, undirected graph G(V, E), where V is the set of pins, E is the set of possible interconnections between pair …

mysql数据库面试题 软件测试_软件测试数据库面试题一

前提本次分享只局限于 sql server 和 mysql 这两种数据库&#xff0c;其他数据库暂不总结正文1. 对查询的字段进行去重(distinct)用法注意&#xff1a;1. distinct【查询字段】&#xff0c;必须放在要查询字段的开头&#xff0c;即放在第一个参数&#xff1b;2. 只能在SELECT 语…

python数码时钟代码_python时钟的实现

from time importsleepimporttimeimportosclassClock(object):"""数字时钟""" def __init__(self, hour0, minute0, second0):"""初始化方法 :param hour: 时 :param minute: 分 :param second: 秒"""self._hourh…

PHP页面跳转

本文转载自&#xff1a;http://blog.sina.com.cn/s/blog_9a06890901014ol1.html PHP页面跳转一、header()函数 header函数中Location类型的标头是一种特殊的header调用&#xff0c;常用来实现页面跳转 注意&#xff1a;1、location和“:”号间不能有空格&#xff0c;否则不会跳…

如何打印出给定尺寸的方格_打印给定号码的表格| 8086微处理器

如何打印出给定尺寸的方格Problem statement: 问题陈述&#xff1a; Write an assembly language program in 8086 to print the table of a given integer. 在8086中编写汇编语言程序以打印给定整数的表。 Assumptions: Suppose the inputted number is at memory location …

python自动更新excel数据_如何更新Excel数据?(刷新所有查询)

我有一个带有一些查询的Excel xlsm文件。目前我每天打开它&#xff0c;点击“数据”选项卡中的“全部刷新”命令。我希望这件事能自动完成。我用python编写了一个脚本(我是python新手)。问题是&#xff0c;刷新数据并保存Excel文件后&#xff0c;刷新的数据不可见(我知道刷新工…