做特产的网站的分析,广告引流推广平台,石家庄建站网页模板,网站优化seo四个建议重点#xff1a;
哈希表#xff1a;当我们遇到了要快速判断一个元素是否出现集合里的时候#xff0c;就要考虑哈希法。
常用数据结构#xff1a;
List 数组 固定大小 如26个字母#xff0c;10个数字 空间换时间
Set hashset 去重
Map hashmap K,V形式
…重点
哈希表当我们遇到了要快速判断一个元素是否出现集合里的时候就要考虑哈希法。
常用数据结构
List 数组 固定大小 如26个字母10个数字 空间换时间
Set hashset 去重
Map hashmap K,V形式
小重点
注意边界条件
一、[242]有效的字母异位词
数组
class Solution {public boolean isAnagram(String s, String t) {int[] resnew int[26];for(int i0;it.length();i){res[t.charAt(i)-a];}for(int j0;js.length();j){res[s.charAt(j)-a]--;}for(int k0;kres.length;k){if(res[k]!0){return false;}}return true;}
}
二、[349]两个数组的交集
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];}HashSetInteger set new HashSetInteger();HashSetInteger resSet new HashSetInteger();for(int i:nums1) {set.add(i);}for(int j:nums2){if(set.contains(j)){resSet.add(j);}}return resSet.stream().mapToInt(i - i).toArray();}
}
三、[202]快乐数
无限循环即出现不止一次考虑用哈希表
class Solution {public boolean isHappy(int n) {//无限循环 重点//即出现不止一次//list 不好处理HashSetInteger records new HashSet();while(n!1!records.contains(n)){records.add(n);ngetNextNumber(n);}return n1;}int getNextNumber(int n){int sum0;while(n!0){int tmpn%10;sumtmp*tmp;nn/10;}return sum;}}
四、[1]两数之和
map
class Solution {public int[] twoSum(int[] nums, int target) {HashMapInteger, Integer map new HashMap();//注意一下int[] resnew int[2];//临界条件if(nums null || nums.length 0){return res;}for(int j0;jnums.length;j){if(map.containsKey(target-nums[j])){//赋值res[0]j;res[1]map.get(target-nums[j]);break;}//此处可加入map不用单独的for循环赋值map.put(nums[j], j);}return res;}
}