天天看点

剑指 Offer 03. 数组中重复的数字 五种解法方法2:方法3:方法4:方法5:

<code>题</code>:在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。
剑指 Offer 03. 数组中重复的数字 五种解法方法2:方法3:方法4:方法5:
题中的第一个测试用例 以及需要引入的头文件 可以将下面的方法直接放进去测试

int main(){

vector&lt;int&gt; nums{ 2, 3, 1 , 0 , 2 , 5 , 3 };

findRepeatNumber(nums);

return 0;

}

//利用sort排序后,利用迭代器,判断相邻是否相对

sort排序后,利用下标,判断相邻是否相对

//利用无序map,借用重载的[]赋值操作;pair&lt;key,value&gt;

//value的值进行判断 value 可为bool char等,只要能作为标记即可

//通过判断 nums[i] i nums[nums[i]] 的关系

剑指 Offer 03. 数组中重复的数字 五种解法方法2:方法3:方法4:方法5: