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;
    }
};
相关推荐
jieyucx1 天前
Go语言深度解剖:Map扩容机制全解析(增量扩容+等量扩容+渐进式迁移)
开发语言·后端·golang·map·扩容策略
顾温1 天前
default——C#/C++
java·c++·c#
凉茶钱1 天前
【c语言】动态内存管理:malloc,calloc,realloc,柔性数组
c语言·c++·vscode·柔性数组
脏脏a1 天前
【C++模版】泛型编程:代码复用的终极利器
开发语言·c++·c++模版
island13141 天前
【C++仿Muduo库#3】Server 服务器模块实现上
服务器·开发语言·c++
散峰而望1 天前
【算法竞赛】C/C++ 的输入输出你真的玩会了吗?
c语言·开发语言·数据结构·c++·算法·github
小龙报1 天前
【C语言】内存里的 “数字变形记”:整数三码、大小端与浮点数存储真相
c语言·开发语言·c++·创业创新·学习方法·visual studio
深耕AI1 天前
【VS Code避坑指南】点击Python图标提示“没有Python环境”,选择安装uv后这堆输出到底是什么意思?
开发语言·python·uv
刃神太酷啦1 天前
扒透 STL 底层!map/set 如何封装红黑树?迭代器逻辑 + 键值限制全手撕----《Hello C++ Wrold!》(23)--(C/C++)
java·c语言·javascript·数据结构·c++·算法·leetcode
2301_789015621 天前
C++:继承
c语言·开发语言·c++