算法篇:哈希表 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.下一个更大的元素
见栈篇
本文精选三道与哈希表相关的经典算法题目进行详细解析,包括如何判断数组中是否存在重复元素、如何找出两个字符串中不同的字符以及如何找到一个元素的下一个更大元素。通过这些题目,读者可以深入理解哈希表的应用场景及其实现技巧。
3103

被折叠的 条评论
为什么被折叠?



