C++ 只出现一次的数字 - 力扣(LeetCode)

点击链接即可查看题目:136. 只出现一次的数字 - 力扣(LeetCode)

一、题目

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

你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。

示例 1 :

复制代码
输入:nums = [2,2,1]
输出:1

示例 2 :

复制代码
输入:nums = [4,1,2,1,2]
输出:4

示例 3 :

复制代码
输入:nums = [1]
输出:1

提示:

  • 1 <= nums.length <= 3 * 104
  • -3 * 104 <= nums[i] <= 3 * 104
  • 除了某个元素只出现一次以外,其余每个元素均出现两次。

二、代码以及解题思路

把vector里面的每个数字进行异或,得到的结果就是只出现一次的数字;

异或:

相同数字异或为0;

cpp 复制代码
class Solution {
public:
    int singleNumber(vector<int>& nums) 
    {
        int ret = 0;
        for(auto e : nums)
        {
            ret ^= e;
        }
        return ret;
    }
};
相关推荐
半桔2 分钟前
std::stack和std::queue
c语言·数据结构·c++·算法·排序算法
Jelena技术达人12 分钟前
微店关键词搜索接口(micro.item_search)返回数据测试指南
开发语言·数据库·python
JhonKI39 分钟前
【Linux】从互斥原理到C++ RAII封装实践
linux·c++
攻城狮7号42 分钟前
【第五节】windows sdk编程:windows 控件基础
c++·windows·windows编程·windows sdk
蹦蹦跳跳真可爱5891 小时前
Python----数据可视化(Pyecharts一:介绍安装,全局配置,系列配置)
开发语言·python·信息可视化
称昵写填未1 小时前
在Pycharm配置conda虚拟环境的Python解释器
开发语言·ide·python·pycharm·conda·anaconda·虚拟环境
团酱1 小时前
控制台报错:The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0.
开发语言·javascript·sass
shy2005_5_311 小时前
Java面向对象编程进阶:深入理解static、单例模式与继承
java·开发语言·单例模式
慕羽★2 小时前
C++中的单例模式及具体应用示例
c++·单例模式·机器人·多线程·bfs·规划
拓端研究室TRL2 小时前
专题|Python梯度提升实例合集:GBM、XGBoost、SMOTE重采样、贝叶斯、逻辑回归、随机森林分析信贷、破产数据...
开发语言·python·算法·随机森林·逻辑回归