给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解题思路

【leetcode题解】求重复整数 - 图1

代码

  1. class Solution {
  2. public:
  3. int findDuplicate(vector<int>& nums) {
  4. vector<int> birdHole(nums.size(), 0);
  5. for(int i = 0 ; i < nums.size() ; i++)
  6. {
  7. if(birdHole[nums[i]] == 1)
  8. {
  9. return nums[i];
  10. }
  11. birdHole[nums[i]] = 1;
  12. }
  13. return 0;
  14. }
  15. };