136. Single Number
来源:互联网 发布:贪吃飒淘宝店 编辑:程序博客网 时间:2024/06/06 19:41
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?
解法一:对数组排序,判断如果和下一个相同,向前移动两位,直到找到和下一个不同的,return这个数;最后一个需特殊处理
public class Solution { public int singleNumber(int[] nums) { if(nums==null||nums.length==0) return -1; Arrays.sort(nums); int i=0; while(i<nums.length-1) { if(nums[i]==nums[i+1]) { i=i+2; } else return nums[i]; } return nums[nums.length-1]; }}
解法二:0^N=N;N^N=0;只需要遍历数组,逐个异或,出现两次的都是0,最后遍历完的结果就是只出现一次的那个元素N
public int singleNumber(int[] nums) { int ans =0; int len = nums.length; for(int i=0;i!=len;i++) ans ^= nums[i]; return ans;}
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
- ETC-省级密钥
- maven web spring-mvc
- 浮动、定位
- 枚举法——百钱买百鸡
- Codeforces Round #398 (Div. 2) B
- 136. Single Number
- Android实现页面左右切换
- 机器学习实战
- Mybatis 拦截器实现SQL性能监控配置
- 数据库:行存储、列存储
- windows配置PHP的Redis扩展
- 生成单据流水号
- 《智能时代》读书笔记:这是最好的时代,也是最坏的时代
- CSS属性支持情况查询