[LeetCode][Java] Single Number
2015-05-15 21:27
381 查看
题目:
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?
题目大意:
给定一个整数数组,数组中每个元素都显示两次,只有一个元素只显示一次。找出这个只显示一次的元素。
注意:
要求线性时间复杂度。
分析:
最易想到的做法是,把每个元素一次存储到HashMap中,出现重复的就删除,最后剩余的那个元素就是要找的只出现一次的元素。
代码如下:
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?
题目大意:
给定一个整数数组,数组中每个元素都显示两次,只有一个元素只显示一次。找出这个只显示一次的元素。
注意:
要求线性时间复杂度。
分析:
最易想到的做法是,把每个元素一次存储到HashMap中,出现重复的就删除,最后剩余的那个元素就是要找的只出现一次的元素。
代码如下:
public class Solution { public int singleNumber(int[] nums) { Map<Integer,Integer> input=new HashMap<Integer,Integer>(); input.put(nums[0], 0); int finalnum = 0; int label=0; for(int i=1;i<nums.length;i++) { if(input.containsKey(nums[i])) input.remove(nums[i]); else input.put(nums[i],i); } for(int i=0;i<nums.length;i++) { if(input.containsKey(nums[i])) { label=input.get(nums[i]); finalnum=nums[label]; break; } } return finalnum; } }
相关文章推荐
- LeetCode - Single Number (JAVA)
- 【LeetCode】Single Number 解题报告(Java & Python)
- 【leetcode】【Single Number题目】java 异或运算解决数字出现偶数次还是奇数次问题||HashMap
- 【LeetCode-面试算法经典-Java实现】【136-Single Number(只出现一次的数字)】
- Java for LeetCode 136 Single Number
- leetcode136 Single Number136 Java
- [LeetCode-136]Single Number(java)
- LeetCode ---- Single Number (Java/Lua 实现)
- LeetCode 136 -Single Number ( JAVA )
- 【leetcode】136. Single Number【java】使用异或
- LeetCode[136] Single Number 位运算异或,HashMap(Java)
- LeetCode 136 — Single Number(C++ Java Python)
- Java [Leetcode 136]Single Number
- [Leetcode] Single Number (Java)
- 【leetcode】Single Number (java)
- 【LeetCode-面试算法经典-Java实现】【136-Single Number(仅仅出现一次的数字)】
- leetcode:Single Number 【Java】
- [LeetCode][5]Longest Palindromic Substring解析 -Java实现
- leetcode:Path Sum 【Java】
- (java)leetcode-9