一、题目描述:
二、思路分析:
这道题如果是海量数据,要怎么做呢?比如面试官问你:一亿个数据找到只出现一次的数 不妨看看这个决胜春招系列
这题数据很少,因此可以哈希之类的,但有个有趣的解决方法
位运算
位运算也是个高频考点,这是位运算的最简单应用,异或,由于两个相同的数异或为0,所以可以用异或实现我们的需求。
三、AC 代码:
class Solution {
public:
int singleNumber(vector<int>& nums) {
int k = 0;
for(int i = 0; i < nums.size(); i++)
k ^= nums[i];
return k;
}
};
四、总结:
这次题十分简单,但可拓展的很多
一个是 位运算 一个是 海量数据处理
其中位运算十分推荐去做做CSAPP的实验,真的帮助很大。
本文正在参与「掘金 2021 春招闯关活动」, 点击查看 活动详情