您的位置:首页 > 其它

Single Number i and ii

2014-10-19 21:20 204 查看

Single Number

Given an array of integers, every element appears twice except for one. Find that single one.

c++版:

class Solution {
public:
int singleNumber(int arr[] , int length)
{
int result=arr[0];
for(int i = 1 ; i < length ; ++i)
result = result ^ arr[i];
return result;
}
};


 Java版:

public class Solution {
public int singleNumber(int[] A) {
int result=A[0];
for(int i=1;i<A.length;i++){
result=result^A[i];
}
return result;
}
}


  

Single Number II

Given an array of integers, every element appears three times except for one. Find that single one.

C++版:

class Solution {
public:
int singleNumber(int A[], int n) {
if(n < 0 || n%3 != 1)    return -1;
map<int, int> mp;
map<int, int>::iterator it;
for(int i = 0; i<n; i++) {
it = mp.find(A[i]);
if(it == mp.end())
mp[A[i]] = 1;
else
mp[A[i]] += 1;
}
for(it = mp.begin(); it != mp.end(); it++) {
if((*it).second != 3)   return (*it).first;
}
}
};


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: