LeetCode OJ: 136. Single Number 尋找出現一次的數字

若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

題目連結,筆者的想法很簡單,就是用Java裡含有 <Key, Value> 的Data Structure,利用Key來作檢查有無重複資料的出現,在Discuss裡頭,有用XOR的作法,只不過筆者所想為:【若所要找的資料型態不是Integer時,要怎麼解題?

import java.util.HashMap;

public class Solution {
    public int singleNumber(int[] nums) {
  int target = 0;
 
  HashMap<Integer, Integer> numbers = new HashMap<>();
  for(int i = 0; i < nums.length; i++) {
   if( numbers.containsKey(nums[i]) == false ) {
    numbers.put(nums[i], 1);
   } else {
    numbers.remove(nums[i]);
   }
  }

  for (Integer key : numbers.keySet()) {
      target = key.intValue();
  }

        return target;
    }
}

沒有留言:

張貼留言