Leet Code OJ 260. Single Number III [Difficulty: Medium]
題目:
Given an array of numbers nums, in which exactly two elements appear only once and all the other elements appear exactly twice. Find the two elements that appear only once.
For example:
Given nums = [1, 2, 1, 3, 2, 5], return [3, 5].
Note:
The order of the result is not important. So in the above example, [5, 3] is also correct.
Your algorithm should run in linear runtime complexity. Could you implement it using only constant space complexity?
翻譯:
給定一個(gè)數(shù)組,里面有2個(gè)元素,只出現(xiàn)一次,其他元素都是出現(xiàn)2次。求這2個(gè)出現(xiàn)一次的元素。
說(shuō)明:返回結(jié)果的數(shù)組順序不重要。你的程序需要運(yùn)行在線性復(fù)雜度下。你可以實(shí)現(xiàn)它只用常數(shù)級(jí)的空間復(fù)雜度嗎?
代碼:
public class Solution {public int[] singleNumber(int[] nums) {int[] result=new int[2];Map<Integer,Integer> map=new HashMap<>();for(int i=0;i<nums.length;i++){Integer value=map.get(nums[i]);if(value==null){map.put(nums[i],1);}else{map.put(nums[i],1+value);}}int resultIndex=0;for(Integer key:map.keySet()){if(map.get(key)==1){result[resultIndex]=key;resultIndex++;}}return result;} }總結(jié)
以上是生活随笔為你收集整理的Leet Code OJ 260. Single Number III [Difficulty: Medium]的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: MongoDB学习笔记(四)使用Java
- 下一篇: 一张大图总结数据结构与算法