当前位置:网站首页>One brush 312 - simple repetition set - Sword finger offer 03 Duplicate number in array (E)
One brush 312 - simple repetition set - Sword finger offer 03 Duplicate number in array (E)
2022-04-23 15:40:00 【Tang and Song Dynasties】
subject :
Find the repeated numbers in the array .
At a length of n Array of nums All the numbers in 0~n-1 Within the scope of . Some numbers in the array are repeated ,
But I don't know how many numbers are repeated , I don't know how many times each number has been repeated . Please find any duplicate number in the array .
---------------------------
Example 1:
Input :
[2, 3, 1, 0, 2, 5, 3]
Output :2 or 3
Limit :
2 <= n <= 100000
-------------------
Ideas : Traversal array
Because you only need to find any duplicate number in the array , So iterate through the array , If you encounter a duplicate number, return .
To determine whether a number is repeated , Use collections to store numbers that have been encountered , If you encounter a number that is already in the set ,
The current number is a duplicate number .
The initialization set is empty , Repeated numbers repeat = -1
Traversal of each element in an array :
Add this element to the collection , Judge whether the addition is successful
If the addition fails , Indicates that the element is already in the collection , So this element is a repeating element , Assign the value of this element to repeat, And end the traversal
return repeat
------------------
Complexity analysis
Time complexity :O(n)
Traverse the array once . Use hash set (HashSet), The time complexity of adding elements is O(1), Therefore, the total time complexity is O(n)
Spatial complexity :O(n). Every element that is not repeated may be stored in the collection , So occupy O(n) Extra space .
--------------------
class Solution {
public int findRepeatNumber(int[] nums) {
Set<Integer> set = new HashSet<>();
for (int num : nums) {
if (set.contains(num)) return num;
set.add(num);
}
return -1;
}
}
It involves simple repetition : set
版权声明
本文为[Tang and Song Dynasties]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/04/202204231535203838.html
边栏推荐
- Connectez PHP à MySQL via aodbc
- Codejock Suite Pro v20.3.0
- 网站建设与管理的基本概念
- Explanation 2 of redis database (redis high availability, persistence and performance management)
- Cookie&Session
- Go语言数组,指针,结构体
- 大厂技术实现 | 行业解决方案系列教程
- G007-hwy-cc-estor-03 Huawei Dorado V6 storage simulator construction
- Functions (Part I)
- 推荐搜索 常用评价指标
猜你喜欢

多级缓存使用

Explanation 2 of redis database (redis high availability, persistence and performance management)

Recommended search common evaluation indicators

Advantages, disadvantages and selection of activation function

Modèle de Cluster MySQL et scénario d'application

Machine learning - logistic regression

电脑怎么重装系统后显示器没有信号了

激活函数的优缺点和选择

Load Balancer

IronPDF for .NET 2022.4.5455
随机推荐
[leetcode daily question] install fence
WPS品牌再升级专注国内,另两款国产软件低调出国门,却遭禁令
控制结构(二)
Why is IP direct connection prohibited in large-scale Internet
Codejock Suite Pro v20.3.0
大厂技术实现 | 行业解决方案系列教程
ICE -- 源码分析
Demonstration meeting on startup and implementation scheme of swarm intelligence autonomous operation smart farm project
自动化测试框架常见类型▏自动化测试就交给软件测评机构
What if the server is poisoned? How does the server prevent virus intrusion?
What are the mobile app software testing tools? Sharing of third-party software evaluation
JVM-第2章-类加载子系统(Class Loader Subsystem)
Go并发和通道
激活函数的优缺点和选择
Independent operation smart farm Innovation Forum
How did the computer reinstall the system? The display has no signal
通过 PDO ODBC 将 PHP 连接到 MySQL
APISIX jwt-auth 插件存在错误响应中泄露信息的风险公告(CVE-2022-29266)
Basic concepts of website construction and management
Machine learning - logistic regression