Lintcode:落单的数

    xiaoxiao2022-05-20  195

    问题:

    给出 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(); } };

     

     


    最新回复(0)