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?
翻譯:
給定一個數組,里面有2個元素,只出現一次,其他元素都是出現2次。求這2個出現一次的元素。
說明:返回結果的數組順序不重要。你的程序需要運行在線性復雜度下。你可以實現它只用常數級的空間復雜度嗎?
代碼:
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;} }總結
以上是生活随笔為你收集整理的Leet Code OJ 260. Single Number III [Difficulty: Medium]的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MongoDB学习笔记(四)使用Java
- 下一篇: 一张大图总结数据结构与算法