当前位置:网站首页>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
边栏推荐
- Demonstration meeting on startup and implementation scheme of swarm intelligence autonomous operation smart farm project
- Multitimer V2 reconstruction version | an infinitely scalable software timer
- 携号转网最大赢家是中国电信,为何人们嫌弃中国移动和中国联通?
- Common types of automated testing framework ▏ automated testing is handed over to software evaluation institutions
- Modèle de Cluster MySQL et scénario d'application
- Squid agent
- 字节面试 transformer相关问题 整理复盘
- Pytorch中named_parameters、named_children、named_modules函数
- Application of Bloom filter in 100 million flow e-commerce system
- 山寨版归并【上】
猜你喜欢
随机推荐
Leetcode学习计划之动态规划入门day3(198,213,740)
How to test mobile app?
控制结构(二)
Summary of interfaces for JDBC and servlet to write CRUD
Mysql database explanation (8)
Mysql database explanation (IX)
Cookie&Session
一刷314-剑指 Offer 09. 用两个栈实现队列(e)
时序模型:长短期记忆网络(LSTM)
el-tree实现只显示某一级复选框且单选
After time judgment of date
负载均衡器
Node. JS ODBC connection PostgreSQL
Introduction to dynamic programming of leetcode learning plan day3 (198213740)
s16.基于镜像仓库一键安装containerd脚本
[backtrader source code analysis 18] Yahoo Py code comments and analysis (boring, interested in the code, you can refer to)
What role does the software performance test report play? How much is the third-party test report charged?
Connect PHP to MSSQL via PDO ODBC
regular expression
Explanation of redis database (I)