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

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

题目描述

在这里插入图片描述

思路

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

1.任何数与其本身异或得0,任何数与0异或得到其本身
2.由于只有一个数字出现一次,其余的数均出现两次,则定义int变量temp初始化为0,循环每次与nums[i]异或,最终返回temp,即为只出现一次的数

复杂度

时间复杂度:

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

空间复杂度:

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

Code

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;
	}
};

相关推荐

  1. -137. 出现数字 II

    2024-04-21 21:38:05       56 阅读
  2. 每日OJ题_位运算⑥_137. 出现数字 II

    2024-04-21 21:38:05       63 阅读
  3. -260. 出现数字 III

    2024-04-21 21:38:05       46 阅读
  4. 136.出现数字

    2024-04-21 21:38:05       33 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-21 21:38:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-21 21:38:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-21 21:38:05       82 阅读
  4. Python语言-面向对象

    2024-04-21 21:38:05       91 阅读

热门阅读

  1. 【CCCC】2024团体程序设计天梯赛补题

    2024-04-21 21:38:05       30 阅读
  2. vue3中插槽的使用与用处

    2024-04-21 21:38:05       37 阅读
  3. xv6源码剖析 008

    2024-04-21 21:38:05       32 阅读
  4. Linux-时间同步服务器

    2024-04-21 21:38:05       37 阅读
  5. Python语言零基础入门——组合数据类型(二)

    2024-04-21 21:38:05       43 阅读
  6. nextjs getStaticProps 和 getServerSideProps 区别

    2024-04-21 21:38:05       45 阅读
  7. 【QT教程】QML异构硬件编程

    2024-04-21 21:38:05       136 阅读
  8. Canvas图形编辑器-数据结构与History(undo/redo)

    2024-04-21 21:38:05       36 阅读
  9. STL基础(四)非类型模板参数

    2024-04-21 21:38:05       42 阅读
  10. 【创建git仓库并关联github账户】

    2024-04-21 21:38:05       39 阅读