响应号召做掘金的每日好题3.2.1|刷题打卡

243 阅读1分钟

一、题目描述:

二、思路分析:

这道题如果是海量数据,要怎么做呢?比如面试官问你:一亿个数据找到只出现一次的数 不妨看看这个决胜春招系列

这题数据很少,因此可以哈希之类的,但有个有趣的解决方法

位运算

位运算也是个高频考点,这是位运算的最简单应用,异或,由于两个相同的数异或为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 春招闯关活动」, 点击查看 活动详情