描述
给定一个长度为
的整型数组
和一个整数
。
已知
中只有 1 个数出现一次,其他的数都出现
次。
请返回只出现了 1 次的数。
数据范围:
1 \le n \le 2*10^51≤n≤2∗105
1 \lt k \lt 1001<k<100
-2*10^9 \le arr[i] \le 2*10^9−2∗109≤arr[i]≤2∗109
1 \lt k \lt 1001<k<100
-2*10^9 \le arr[i] \le 2*10^9−2∗109≤arr[i]≤2∗109
复杂度要求:
时间 %5C)
空间
适合新手的方法:将数组由小到大排序,若某一元素不等于前一个也不等于后一个,则跳出循环返回该元素
class Solution {
public:
int foundOnceNumber(vector<int>& arr, int k) {
vector<int> temp;
sort(arr.begin(),arr.end());
temp=vector<int>{arr.begin(),arr.end()};
for(int i=0;i<temp.size();i++)
if(temp[i]!=temp[i+1]&&temp[i]!=temp[i-1])
return temp[i];
return 0;
}
}; 
京公网安备 11010502036488号