In a array A of size 2N, there are N+1 unique elements, and exactly one of these elements is repeated N times.

Return the element repeated N times.



Example 1:

Input: [1,2,3,3]
Output: 3
Example 2:

Input: [2,1,2,5,3,2]
Output: 2
Example 3:

Input: [5,1,5,2,5,3,5,4]
Output: 5


Note:

4 <= A.length <= 10000
0 <= A[i] < 10000
A.length is even

这题其实我转为找重复数字了,因为按题意,两个是一样的解法。

class NRepeatedElementInSize2NArray : public Solution {
public:
    void Execute() {
        std::cout << "Case 1: " << repeatedNTimes(vector<int>{1,2,3,3}) << std::endl;
        std::cout << "Case 2: " << repeatedNTimes(vector<int>{5,1,5,2,5,3,5,4}) << std::endl;
    }
    int repeatedNTimes(const vector<int>& A) {
        unordered_set<int> rset;
        for (auto v : A) {
            if (rset.count(v) != 0) {
                return v;
            }
            rset.insert(v);
        }
        return 0;
    }
};
共 0 条回复
暂时没有人回复哦,赶紧抢沙发
发表新回复

作者

sryan
today is a good day