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;
    }
};
相关推荐
色空大师几秒前
【网站开发-java】
java·linux·服务器·开发语言·网站·搭建网站
于先生吖2 分钟前
远程考试系统搭建 JAVA 国际版源码与多国语言集成方案
java·开发语言
眼眸流转4 分钟前
LeetCode热题100(七)
算法·leetcode·c#
JavaWeb学起来7 分钟前
Python学习教程(二)字符串
开发语言·python·python基础
归寻太乙11 分钟前
2026年03月27日—Python基础—Python背景知识与环境搭建
开发语言·python
88号技师11 分钟前
2026年3月新锐一区SCI-傅里叶变换优化算法Fourier transform optimizer-附Matlab免费代码
开发语言·算法·数学建模·matlab·优化算法
福楠14 分钟前
现代C++ | 右值引用 + std::move + noexcept
linux·c语言·开发语言·c++
小陈工15 分钟前
Python后端实战:GraphQL高级应用与性能优化全解析
开发语言·人工智能·后端·python·性能优化·开源·graphql
不会写DN20 分钟前
Go 生态最快 JSON 库 - jsoniter
开发语言·golang·json