欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Leetcode——剑指offer面试题03. 数组中重复的数字

程序员文章站 2022-06-17 17:06:09
...

Leetcode——剑指offer面试题03. 数组中重复的数字
这题很简单,空间换时间,新建一个等长的bool数组,用bool数组记录元素是否被访问过。未访问过是false,访问了置true,遍历时如果发现bool数组该元素对应为true则说明之前访问过,返回即可。最后的return -1为了让编译器通知int类型的函数返回值。其实用不上,有的编译器也不会报错。

class Solution 
{
public:
    int findRepeatNumber(vector<int>& nums) 
    {
        int length=nums.size();
        bool flag[length]={false};
        for(int i=0;i<length;i++)
        {
            if(flag[nums[i]]==false)
            {
                flag[nums[i]]=true;
            }
            else
            {
                return nums[i];
            }
        }
        return -1;    
    }
};