LeetCode(剑指 Offer)- 03. 数组中重复的数字
Posted 放羊的牧码
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode(剑指 Offer)- 03. 数组中重复的数字相关的知识,希望对你有一定的参考价值。
题目链接:点击打开链接
题目大意:略
解题思路
相关企业
- 亚马逊(Amazon)
AC 代码
- Java
// 解决方案(1)
class Solution
public int findRepeatNumber(int[] nums)
int[] cnt = new int[nums.length];
for (int i = 0; i < nums.length; i++)
if (cnt[nums[i]] > 0)
return nums[i];
cnt[nums[i]]++;
return -1;
// 解决方案(2)
class Solution
public int findRepeatNumber(int[] nums)
int i = 0;
while(i < nums.length)
if(nums[i] == i)
i++;
continue;
if(nums[nums[i]] == nums[i]) return nums[i];
int tmp = nums[i];
nums[i] = nums[tmp];
nums[tmp] = tmp;
return -1;
- C++
class Solution
public:
int findRepeatNumber(vector<int>& nums)
int i = 0;
while(i < nums.size())
if(nums[i] == i)
i++;
continue;
if(nums[nums[i]] == nums[i])
return nums[i];
swap(nums[i],nums[nums[i]]);
return -1;
;
以上是关于LeetCode(剑指 Offer)- 03. 数组中重复的数字的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode(剑指 Offer)- 03. 数组中重复的数字
LeetCode(剑指 Offer)- 03. 数组中重复的数字
LeetCode1269. 停在原地的方案数 / 剑指 Offer 38. 字符串的排列 / 216. 组合总和 III / 剑指 Offer 39. 数组中出现次数超过一半的数字/229. 求众数(
LeetCode692. 前K个高频单词 / 剑指 Offer 50. 第一个只出现一次的字符 / 剑指 Offer 51. 数组中的逆序对 / 2. 两数相加