力扣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;
	}
};
相关推荐
AI科技星7 分钟前
基于全域数学公理体系求解三元约束极值题【乖乖数学】
人工智能·算法·机器学习·密码学·拓扑学·乖乖数学·全域数学
伊玛目的门徒8 小时前
试用leetcode之典中典 二数之和问题
java·算法·leetcode
Jerry8 小时前
LeetCode 226. 翻转二叉树
算法
想做小南娘,发现自己是女生喵9 小时前
【无标题】
数据结构·算法
Kx_Triumphs11 小时前
HDU4348 To the moon(主席树区间修改模板)
算法·题解
旖-旎11 小时前
《LeetCode647 回文子串 || LeetCode 5 最长回文子串》
c++·算法·leetcode·动态规划·哈希算法
轻颂呀12 小时前
约瑟夫环问题
算法
凤凰院凶涛QAQ14 小时前
《Java版数据结构 & 集合类剖析》栈与队列:“push/pop 是栈的灵魂,offer/poll 是队列的骨架——四组 API,两种人生”
java·开发语言·数据结构
科技大视界14 小时前
投资AI项目,传统尽调不够用了——李章虎律师拆解算法、数据、算力三大雷区
人工智能·算法·数据挖掘