Single Number位运算基础问题--力扣101算法题解笔记

10.2Single Number位运算基础问题

题目描述

给定一个整数数组,这个数组里只有一个数字出现了一次,其余数字出现了两次,求这个只出现一次的数字。

输入输出样例

Input :4, 1, 2, 1, 2

Output:4

输入一个一维整数数组,输出是该数组内的一个整数

题解

我们可以利用x^x = 0 和x ^ 0 = x 的特点,将数组内所有的数字进行按位异或。出现两次的所有数字按位异或的结果是0,0与出现一次的数字亦或可以得到这个数字本身。

cpp 复制代码
#include <iostream>
#include <vector>
using namespace std;

int sigleNumber(vector<int>& nums) {
        int ans = 0;
        for (const int& num : nums) {
                ans = ans ^ num;
        }
        return ans;
}

int main() {
        vector<int> ans = { 4,1,2,1,2 };

        cout << sigleNumber(ans) << endl;

        return 0;
}
相关推荐
ZhouDevin11 分钟前
算法论文/数据集3——CLD(TMLR2025)压缩训练集,仅保留对验证集有益的样本
人工智能·深度学习·算法·计算机视觉
Tim_1025 分钟前
【LeetCode】29、两数相除
算法·leetcode·职场和发展
纪念 22934 分钟前
数据结构排序(三)
数据结构
船厂电气自动化ai大模型1 小时前
AI大模型与数学/第63课:矩阵定义、矩阵加法、标量乘法(逐级精讲)
数据结构·人工智能·深度学习·线性代数·算法
余额瞒着我当琳1 小时前
算法修炼 chapter 2 双指针进阶、盛最多水的容器、有效三角形的个数、两数之和、三数之和、四数之和
算法
你压到我腿毛了6661 小时前
C语言冒泡算法(Bubble sort)
c语言·数据结构·算法
靠沿2 小时前
贪心算法专题(三)
算法·贪心算法
super大力张3 小时前
MOE基于结构的药物设计(七):Ligand R-Vectors——如何判断配体可以从哪里继续生长?
数据库·算法·cadd·moe·svl·基于结构的药物设计
Tongsr4 小时前
别只混淆代码:用 Kaleido 加固整个 Android Release AAB
前端·算法·github
高亦真4 小时前
今天是学习嵌入式的第34天
linux·学习·算法