leetcode解题之136 #Single Number Java版(只出现一次的数字)
来源:互联网 发布:画图软件使用教程 编辑:程序博客网 时间:2024/05/10 13:11
136. Single Number
Given an array of integers, every element appearstwice except for one. Find that single one.
Note:
Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?
使用map:
public int singleNumber(int[] nums) {int i = 0;int j = nums.length - 1;Map<Integer, Integer> map = new HashMap<>();while (i <= j) {if (map.containsKey(nums[i]))map.put(nums[i], map.get(nums[i])+1);elsemap.put(nums[i], 1);i++;}i = 0;while (i <= j) {if (map.get(nums[i]) == 1)break;i++;}return nums[i];}
使用异或运算:
如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。
0与任何数做异或都是 那个数,相同的数字做异或等于0;
1. a ^ b = b ^ a
2. a ^ b ^ c = a ^ (b ^ c) = (a ^ b) ^ c;
public int singleNumber(int[] nums) {int result = nums[0];for (int i = 1; i < nums.length; i++) {result = result ^ nums[i];}return result;}
0 0
- leetcode解题之136 #Single Number Java版(只出现一次的数字)
- LeetCode 136 Single Number(只出现一次的数字)
- 【LeetCode-面试算法经典-Java实现】【136-Single Number(只出现一次的数字)】
- 寻找只出现一次的数字(LeetCode: Single Number II)
- LeetCode 260 Single Number III(只出现一次的数字 III)(*)
- LeetCode 137 Single Number II(只出现一次的数字 II)(*)
- 【LeetCode】- Single Number(从数组中找出只出现一次的数字)
- Leetcode 136 Single Number 仅出现一次的数字
- LeetCode 136 Single Number 出现一次的数字
- 【leetcode】数组中找出只出现一次的数字(Single Number)
- Single Number III & 数组中只出现一次的数字
- Single Number 数组找只出现一次的数@LeetCode
- Leetcode 137 Single Number II 仅出现一次的数字
- Leetcode 260 Single Number III 仅出现一次的数字
- 136. Single Number (查找数组中只出现一次的数字)
- single-number、single-number2,数组中只出现一次的数字
- 136 Single Number 找到只出现一次的数
- leetcode_137. Single Number II 只出现一次的数字 II 偏离了题目考点,主要是为了写下java
- JS 浅拷贝和深拷贝及extend应用
- SoapUI学习总结(三) --负载测试
- 利用java.nio.charset.CharsetDecoder自动识别字符集
- Bootstrap 图片
- Centos下安装Golang
- leetcode解题之136 #Single Number Java版(只出现一次的数字)
- windows mysql 自动备份的几种方法(定时备份)
- C#对Access数据库的操作
- hdu 5739(点双联通分量 )
- 国外顶级软件开发工具和平台汇总
- JavaScript for Kids 学习笔记10. 寻宝
- Python GUI编程 TKinter 的基本使用
- 使用sun.misc.Unsafe
- 无缝滚动图片