面試題:數組中只出現一次的數字
阿新 • • 發佈:2018-08-21
new ++ array ear style 哈希表 else 兩個 個數
題目描述:一個整型數組裏除了兩個數字之外,其他的數字都出現了偶數次。請寫程序找出這兩個只出現一次的數字。
方法1:哈希表
//num1,num2分別為長度為1的數組。傳出參數 //將num1[0],num2[0]設置為返回結果 import java.util.HashMap; public class Solution { public void FindNumsAppearOnce(int [] array,int num1[] , int num2[]) { HashMap<Integer,Integer> map = new HashMap<>();for(int i=0;i<array.length;i++){ Integer key = array[i]; Integer value = map.get(key); if(value!=null){ map.put(key,value+1); }else{ map.put(key,1); } } int index = 0; for(int i=0;i<array.length;i++){if(map.get(array[i])==1&&index==0){ num1[index]=array[i]; index++; }else if(map.get(array[i])==1&&index==1){ num2[index-1]=array[i]; break; } } } }
方法2:
面試題:數組中只出現一次的數字