需要能够快速查询,然后有一个数和对应出现次数的对应,所以想到用Hashtable
Solution1:
import java.util.*;
public class Solution {
public boolean containsDuplicate(int[] nums) {
Hashtable nummap = new Hashtable();
for (int n : nums) {
if (nummap.get(n) != null) return true;
else nummap.put(n,1);
}
return false;
}
}
其实只关心每个num出现没出现,0或者1,所以用不到map,只需要知道有没有就可以,所以hashset就可以。
Solution2:
public class Solution {
public boolean containsDuplicate(int[] nums) {
HashSet numset = new HashSet();
for (int n : nums) {
if (!numset.add(n)) return true;
}
return false;
}
}
No comments:
Post a Comment