题解 | #出现一次的数字ii#
出现一次的数字ii
http://www.nowcoder.com/practice/1097ca585245418ea2efd0e8b4d9eb7a
因为提供的接口为指针,首先用容器进行接收,这里选择vector(也是数组)接收,然后排序,三个为一组,进行排序,如果v[i] != v[i+1],v[i]则为出现一次的数字,如果前面都没问题,则为最后元素。
public:
int singleNumber(int* A, int n) {
vector<int> v;
while (n--)
{
v.push_back(*A);
A++;
}
sort(v.begin(), v.end());
for(int i = 0; i < v.size(); i+=3)
{
if((i+1) < v.size() && v[i] != v[i+1])
{
return v[i];
}
}
return v[v.size()-1];
}
};