只出现一次的数字(C++)

简介: 只出现一次的数字(C++)
只出现一次的数字

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

说明:

你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?

示例 1:

输入: [2,2,1]
输出: 1

示例 2:

输入: [4,1,2,1,2]
输出: 4

我的代码:

class Solution {
public:
    int singleNumber(vector<int>& nums) {
        // 单纯的考验一下map的使用
        map<int, int> mp;
        for (int i = 0; i < nums.size(); ++ i) mp[nums[i]] ++;
        for (auto m: mp)
        {
            if (m.second == 1) return m.first;
        }
        return 0;
    }
};

对应我的掘金文章:https://juejin.cn/post/7147297959191773198

相关文章
|
存储 XML Ubuntu
如何在 Ubuntu 22.04 服务器上安装和配置 KVM?
如何在 Ubuntu 22.04 服务器上安装和配置 KVM?
835 0
如何在 Ubuntu 22.04 服务器上安装和配置 KVM?
|
消息中间件 IDE JavaScript
用代码画时序图!YYDS
最近通过代码来看看这个图,给大家看图、UML ,感觉很给大家分享。 大家平时用他们出的图呢,是用什么样的图,都用画图来画的,我们用画图来画图 呢draw.io?processOn 今天给大家介绍一款想要的作品,用的画图,配合IDE使用PlantUML!
用代码画时序图!YYDS
|
Shell
设置shell脚本执行错误自动退出
设置shell脚本执行错误自动退出
1038 0
|
6月前
|
Ubuntu Linux 编译器
在Ubuntu Linux系统下如何搭建并安装EDK2
以上就是在Ubuntu Linux系统下搭建并安装EDK2的过程。这个过程可能会有些复杂,但只要按照步骤一步步来,应该不会有太大问题。如果在过程中遇到任何问题,都可以在网上找到相应的解决方案。希望这个指南能对你有所帮助!
237 17
|
算法 安全 编译器
【C++ 关键字 override】C++ 重写关键字override(强制编译器检查该函数是否覆盖已存在的虚函数)
【C++ 关键字 override】C++ 重写关键字override(强制编译器检查该函数是否覆盖已存在的虚函数)
595 0
|
机器人 5G UED
一文详解运营商发布的“5G消息白皮书”
2020年4月8日中国移动、中国电信、中国联通携手华为、小米、vivo、OPPO、中兴等11家终端厂商联合发布了《5G消息白皮书》,用来`推动传统短消息服务升级`。 三大运营商联合发布的《5G消息白皮书》创造了一种怎样的商业模式,我们该如何理解《5G消息白皮书》?
1524 1
|
编解码 Oracle iOS开发
VirtualBox虚拟机安装Mac OS X Lion系统详解
VirtualBox虚拟机安装Mac OS X Lion系统详解
737 1
go语言时间类型、字符串转换为时间、时间转换为字符串
go语言时间类型、字符串转换为时间、时间转换为字符串
|
JavaScript 前端开发 物联网
正则表达式的用法(判断是否为手机号格式)
正则表达式的用法(判断是否为手机号格式)
1710 1
|
C语言 C++
C/C++实现跨年表白烟花
C/C++实现跨年表白烟花
1010 0