给出 2 * n + 1个数字,除其中一个数字之外其他每个数字均出现两次,找到这个数字。
样例 1:
输入:[1,1,2,2,3,4,4] 输出:3 解释: 仅3出现一次样例 2:
输入:[0,0,1] 输出:1 解释: 仅1出现一次python:
class Solution: """ @param A: An integer array @return: An integer """ def singleNumber(self, A): # write your code here if len(A) == 1: return A[0] C = A C.sort() for index in range(0,len(C)-1,2): if C[index] != C[index+1]: return C[index] return C[-1]C++:
class Solution { public: /** * @param A: An integer array * @return: An integer */ int singleNumber(vector<int> &A) { // write your code here if (A.size() == 1) { return A[0]; } vector<int> C = A; sort(C.begin(),C.end()); for (int i = 0; i < C.size()-1; i+=2) { if(C[i] != C[i+1]) { return C[i]; } } return C.back(); } };