题目:
给出2*n + 1 个的数字,除其中一个数字之外其他每个数字均出现两次,找到这个数字。
样例:
给出 [1,2,2,1,3,4,3],返回 4
代码:
class Solution {
public:
/**
* @param A: An integer array
* @return: An integer
*/
int myfind(vector<int> &A,int x){
int count =0;
for(int i=0;i<A.size();i++){
if(A[i]==x){
count++;
if(count==2){
return i;
}
}
}
return -1;
}
int singleNumber(vector<int> &A) {
// write your code here
for (int i=0;i<A.size();i++){
int a = myfind(A,A[i]);
if(a==-1){
return A[i];
}
}
}
};
刚开始想用查找后删除之后再找的方法,后来发现要考虑的东西比较多,所以就直接双重循环找只出现一次的数字了。还是只能暴力解决。。。难受