Leetcode——剑指offer面试题03. 数组中重复的数字
程序员文章站
2022-06-17 17:06:09
...
这题很简单,空间换时间,新建一个等长的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;
}
};
上一篇: 剑指offer 面试题4:二维数组中的查找【C++版本】
下一篇: windows文件快速搜索工具
推荐阅读
-
剑指offer28:找出数组中超过一半的数字。
-
【剑指 Offer-python】 03. 数组中重复的数字
-
剑指offer 56 数组中数字出现的次数 lintcode 82. 落单的数、83. 落单的数 II、84. 落单的数 III
-
【剑指offer】面试题56(1):数组中只出现一次的两个数字
-
剑指offer:数组中只出现一次的两个数字(java版)
-
剑指offer 面试题56 python版+解析:数组中只出现一次的两个数字,数组中唯一只出现一次的数字
-
剑指offer第二版-56.数组中只出现一次的两个数字
-
【算法分享】剑指offer56-数组中只出现一次的两个数字
-
剑指 Offer 56 - I. 数组中只出现一次的两个数字
-
《剑指Offer》Java刷题 NO.40 数组中只出现一次的数字(数组、HashMap、位运算、异或)