leetcode [#136]

目录

题目

Given an array of integers, every element appears twice except for one. Find that single one.


解决方案

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import java.util.Hashtable;
public class Solution {
public int singleNumber(int[] nums) {
int result = 0;
Hashtable<Integer, Integer> table = new Hashtable<>();
for(int i = 0; i < nums.length; i++){
if(!table.containsKey(nums[i])){
table.put(nums[i], 1);
} else {
table.put(nums[i], table.get(nums[i]) + 1);
}
}
for(int k = 0; k < nums.length; k++){
if(table.get(nums[k]) == 1) result = nums[k];
}
return result;
}
}

注意事项

  1. 遍历数组,以数字元素为key,出现次数为value,构造Hashset,找出value为1的key即可。