力扣136. 只出现一次的数字

Problem: 136. 只出现一次的数字

文章目录

题目描述

思路

由于题目要求使用线性时间复杂度和常量级的空间复杂度 ,再加上找重复元素 这个特性,我们可以想到使用位运算来求解:

1.任何数与其本身异或得0,任何数与0异或得到其本身

2.由于只有一个数字出现一次,其余的数均出现两次,则定义int变量temp初始化为0,循环每次与numsi异或,最终返回temp,即为只出现一次的数

复杂度

时间复杂度:

O ( n ) O(n) O(n);其中 n n n为数组nums的大小

空间复杂度:

O ( 1 ) O(1) O(1)

Code

cpp 复制代码
class Solution {
public:
	/// <summary>
	/// Find a number that only appears once
	/// </summary>
	/// 
	/// <param name="nums"> The given array </param>
	/// <returns> int </returns>
	int singleNumber(vector<int>& nums) {
		int temp = 0;
		for (int i = 0; i < nums.size(); ++i) {
			temp ^= nums[i];
		}
		return temp;
	}
};
相关推荐
有点。8 分钟前
C++03阶段练习(一)
数据结构·c++
kevin_kang36 分钟前
第05章 实时语音识别的 ASR 原理
算法
kevin_kang38 分钟前
第04章 断句原理:本地 VAD 与神经网络 VAD
算法
kevin_kang1 小时前
第06章 文字转语音的 TTS 原理
算法
6Hzlia1 小时前
【Classic 150 刷题计划】 LeetCode 123. 买卖股票的最佳时机 III | C++ 状态机动态规划与通用交易拓展
c++·算法·leetcode
luj_17681 小时前
生物体如何应对功能击穿?
c语言·开发语言·c++·经验分享·算法
luj_17681 小时前
击穿分析五大关键步骤
开发语言·网络·c++·经验分享·算法
星空1 小时前
Map<String, String>`Map`是接口,不能直接 new
java·前端·算法
shirsl1 小时前
算法 Day3-队列 / deque + 链表
数据结构·python·算法·链表
码流子2 小时前
2026 图像数据标注工具横评:LabelImg / CVAT / Label Studio / X-AnyLabeling / 国产Web平台,到底怎么选?
大数据·人工智能·算法