制作一个网站的步骤是什么,推荐一些做电子的网站,南昌购物网站制作,高端网站开发方案找出数组中重复的数字。
在一个长度为 n 的数组 nums 里的所有数字都在 0#xff5e;n-1 的范围内。数组中某些数字是重复的#xff0c;但不知道有几个数字重复了#xff0c;也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。
示例 1#xff1a;
输入…找出数组中重复的数字。
在一个长度为 n 的数组 nums 里的所有数字都在 0n-1 的范围内。数组中某些数字是重复的但不知道有几个数字重复了也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。
示例 1
输入 [2, 3, 1, 0, 2, 5, 3] 输出2 或 3
class Solution {
public:int findRepeatNumber(vectorint nums) {int temp[100000]{0};for(int i0;inums.size();i){temp[nums[i]]1;}for(int i0;inums.size();i){if(temp[i]1){return i;}}return -1;}
};哈希表
class Solution {
public:int findRepeatNumber(vectorint nums) {unordered_mapint,int hash;for(int i0;inums.size();i){hash[nums[i]];if(hash[nums[i]]1){return nums[i];} }return -1;}
};原地置换
class Solution {
public:int findRepeatNumber(vectorint nums) {int i0;while(inums.size()){if(inums[i]){i;continue; }if(nums[nums[i]]nums[i]){return nums[i];}swap(nums[nums[i]],nums[i]);}return -1;}
};