提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、力扣242. 有效的字母异位词
- 二、力扣349. 两个数组的交集
- 三、力扣202. 快乐数
前言
当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法了。
一、力扣242. 有效的字母异位词
class Solution {public boolean isAnagram(String s, String t) {int [] f1 = new int[27];int [] f2 = new int[27];for(int i = 0; i < s.length(); i ++){f1[s.charAt(i)-'a'] ++;}for(int i = 0; i < t.length(); i ++){f2[t.charAt(i)-'a'] ++;}for(int i = 0; i < 27; i ++){if(f1[i] != f2[i]){return false;}}return true;}
}
二、力扣349. 两个数组的交集
class Solution {public int[] intersection(int[] nums1, int[] nums2) {Set<Integer> s1 = new HashSet<>();Set<Integer> s2 = new HashSet<>();for(int i = 0; i < nums2.length; i ++){s2.add(nums2[i]);}for(int i = 0; i < nums1.length; i ++){if(s2.contains(nums1[i])){s1.add(nums1[i]);}}Integer[] res = s1.toArray(new Integer[s1.size()]);int[] arr = new int[res.length];for(int i = 0; i < arr.length; i ++){arr[i] = res[i];}return arr;}
}
三、力扣202. 快乐数
class Solution {public boolean isHappy(int n) {int f = n;Set<Integer> s = new HashSet<>();s.add(f);while(f != 1){f = fun(f);if(s.contains(f)){return false;}else{s.add(f);}};return true;}int fun(int n){int res = 0, a = 1;while(n != 0){a = n%10;res += (a * a);n /= 10;}return res;}
}