1. 程式人生 > >面試題:數組中只出現一次的數字

面試題:數組中只出現一次的數字

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:

面試題:數組中只出現一次的數字