面试题03. 数组中重复的数字
2021-01-26 04:16
标签:image ima str 数组下标 nbsp return while 复数 bsp 题目: 解答: 方法一:哈希 使用哈希来进行处理,当发现哈希中包含相应的元素时,则表示出现了重复的元素,则返回即可。 方法二:仍然为哈希 面试题03. 数组中重复的数字 标签:image ima str 数组下标 nbsp return while 复数 bsp 原文地址:https://www.cnblogs.com/ocpc/p/12856309.html 1 class Solution {
2 public:
3 int findRepeatNumber(vectorint>& nums)
4 {
5 std::setint> res;
6
7 for (int i = 0; i )
8 {
9 // 若包含元素, 则返回
10 if (res.count(nums[i]))
11 {
12 return nums[i];
13 }
14 else
15 {
16 // 若不包含元素, 则插入
17 res.insert(nums[i]);
18 }
19 }
20
21 return -1;
22 }
23 };
1 class Solution {
2 public:
3 int findRepeatNumber(vectorint>& nums)
4 {
5 //算法思路见剑指offer,P39-40
6 if(nums.empty())
7 {
8 return -1;
9 }
10
11 for(int i = 0; i i)
12 {
13 while(nums[i] != i)
14 {
15 if(nums[i] == nums[nums[i]])
16 {
17 return nums[i];
18 }
19 else
20 {
21 swap(nums[i], nums[nums[i]]);
22 }
23 }
24 }
25
26 return -1;
27 }
28 };
下一篇:struts提供文件上传功能