算法篇:哈希表 Hash Table
知识
217.存在重复元素
思路:使用哈希表,重复的元素不能再存一次,因此比较哈希表和原数组的长度即可
class Solution {
public boolean containsDuplicate(int[] nums) {
HashMap<Integer,Integer> map = new HashMap<>();
for(int i = 0;i<nums.length;i++){
map.put(nums[i],1);
}
if(map.size() != nums.length) return true;
else return false;
}
}
389.找不同(用了位运算)
思路:
class Solution {
public char findTheDifference(String s, String t) {
//用位运算来做 当s和t合在一起时 多出来的字母必为奇数 其他字母为偶数 因此用异或运算
int mark = 0;
for(int i = 0; i < s.length(); i++){
mark ^= s.charAt(i);
}
for(int i = 0; i < t.length(); i++){
mark ^= t.charAt(i);
}
return (char)mark;
}
}
496.下一个更大的元素
见栈篇