136. Single Number
来源:互联网 发布:前台数据传到msql乱码 编辑:程序博客网 时间:2024/06/06 00:15
Given an array of integers, every element appears twice except for one. Find that single one.
Note:
Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?
分析题目
给一组整形数字,其中除了一个数字只出现过一次之外,其他数字均出现两次,让找出只出现过一次的这个数。
要求:O(n)时间复杂度
解题思路
由于题目要求O(n)时间复杂度,所以不能通过遍历统计每一个元素的个数来找出那个单独的数字。由于相同的两个整数进行异或结果为0,而零和任意数异或结果任是那个数,结合题目,其他数字均出现两次,又由于异或运算符合交换律,所以我们为了想起来容易,假设那个单独的数在数组最后一个,而其他重复的都排好了顺序,比如:112233445,将这一组数进行异或,相当于零和5进行了异或,结果就是5,也就是我们要找的那个单独的数字。
代码实现
int singleNumber(int[] nums) { int result = 0; for (int i = 0; i<nums.length; i++){ result ^=nums[i]; } return result;}
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
- JavaScript严格模式与非严格模式之间的区别
- NanoPi M3 使用心得
- 时区与时间(二)
- mysql数据库创建表出错误
- MD5加密算法的工具类
- 136. Single Number
- Dubbo源码解析-Dubbo微内核实现(SPI扩展)
- 《全国计算机等级考试三级教程》章节学习记录——第一章.数据库应用系统开发方法
- FILE_TEST IDL
- STL unordered_map char*作为key 笔记
- Hadoop跑程序报超过内存错误
- Mysql学习第三课
- TCP-IP详解:TCP的连接与终止
- JDBC的版本和java sdk的对应关系