136.Single Number
来源:互联网 发布:淮安悠迅网络 编辑:程序博客网 时间:2024/06/10 03:41
136.Single Number
题目
给出一个整数数组,每个元素出现两次除了其中一个元素。找出单个元素。
注意:
你的算法应该有限行时间复杂度。你能不用额外存储空间来实现吗?
代码块
class Solution { public static int singleNumber(int[] nums) { int a = nums[0]; for(int i = 0; i < nums.length - 1; i++){ a ^= nums[i+1]; } return a; } public static void main(String[] args) { int[] nums = {1,1,2,2,3}; System.out.println(singleNumber(nums)); }}
代码分析
本题使用的是异或运算。
XOR:
a⊕0=a
a⊕a=0
a⊕b⊕a=(a⊕a)⊕b=0⊕b=b
时间复杂度:O(n)。因为只是循环访问一次nums数组。
空间复杂度:O(1)。
【一个算法的空间复杂度S(n)定义为该算法所耗费的存储空间。如当一个算法的空间复杂度为一个常量,即不随被处理数据量n的大小而改变时,可表示为O(1)】
阅读全文
0 0
- 136. Single Number&137. Single Number II
- 136. Single Number
- LeetCode 136. Single Number
- 136.Single Number
- [Leetcode] 136. Single Number
- LeetCode 136. Single Number
- 136.Single Number
- 136. Single Number
- 136.Single Number
- 【leetcode】136. Single Number
- 【LeetCode】136. Single Number
- Leetcode 136. Single Number
- leetcode 136. Single Number
- leetcode 136. Single Number
- 136. Single Number LeetCode
- LeetCode 136. Single Number
- LeetCode 136. Single Number
- [LeetCode]136. Single Number
- CentOS 7.x下安装MySQL错误(ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:)
- oracle like函数 介绍与优化
- 环信3.0自定义扩展消息
- itop4412 uboot 学习详细记录四丶Exynos4412 编译Makefile的配置文件config.mk分析)
- STM32使用SWO引脚调试
- 136.Single Number
- 简述:为什么硅胶按键要使用镭雕工艺?
- #研发解决方案介绍#Tracing(鹰眼)
- php读取目录及子目录下所有文件名的方法
- Spring framework(3):IoC(1) IoC 容器&上下文对象
- JavaWeb.三层框架.MVC
- HttpClient +JSOUP 代理 爬虫
- 算法的分析思路
- redis入门教程