- 242.有效的字母异位词
- 利用哈希表存储相关字母,实现查找功能
-
class Solution { public boolean isAnagram(String s, String t) { int [] record =new int [26]; for(int i = 0; i < s.length(); i++){ record[s.charAt(i)-'a']++; } for(int j = 0; j < t.length(); j++){ record[t.charAt(j)-'a']--; } for(int k = 0; k < record.length; k++){ if (record[k]!=0){ return false; } } return true; } }
- 349. 两个数组的交集
-
import java.util.HashSet; import java.util.Set; class Solution { public int[] intersection(int[] nums1, int[] nums2) { if(nums1==null||nums1.length==0||nums2==null||nums2.length==0){ return new int [0]; } Set<Integer> set1 = new HashSet<>(); Set<Integer> reSet = new HashSet<>(); for(int i:nums1){ set1.add(i); } for(int j:nums2){ if(set1.contains(j)){ reSet.add(j); } } //将结果几何转为数组 return reSet.stream().mapToInt(x -> x).toArray(); } }
创建了两个set哈希表实现查找数组中的元素,然后记录此元素
- 1. 两数之和
-
class Solution { public int[] twoSum(int[] nums, int target) { int res [] = new int [2]; if(nums==null || nums.length==0){ return res; } Map <Integer,Integer> map = new HashMap<>(); for(int i = 0; i < nums.length; i++){ int temp = target-nums[i]; if(map.containsKey(temp)){ res[1] = i; res[0] = map.get(temp); break; } map.put(nums[i],i); } return res; } }