题解 | #农场牛的标识III# 异或 哈希表
农场牛的标识III
https://www.nowcoder.com/practice/f8cf74a21aa4440595f007789ea6bd61
知识点
异或 哈希表
思路
需要找出唯一一个出现两次的元素,我们可以对原数组去重后,把所有的数的异或和再异或去重数组,这样的话就是找出唯一一个出现三次的(其他是出现四次)的元素,结果即为答案。
时间复杂度
AC Code(C++)
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param nums int整型vector
* @return int整型
*/
int twoCountNumber(vector<int>& nums) {
unordered_set<int> S(nums.begin(), nums.end());
int res = 0;
for (auto x : nums) res ^= x;
for (auto x : S) res ^= x;
return res;
}
};

查看12道真题和解析