当前位置: 首页 > news >正文

leetcode-05-[242]有效的字母异位词[349]两个数组的交集[202]快乐数[1]两数之和

重点:

哈希表:当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法

常用数据结构:

List 数组 固定大小 如26个字母,10个数字  空间换时间

Set  hashset  去重

Map hashmap   <K,V>形式

小重点:

注意边界条件

一、[242]有效的字母异位词

数组

class Solution {public boolean isAnagram(String s, String t) {int[] res=new int[26];for(int i=0;i<t.length();i++){res[t.charAt(i)-'a']++;}for(int j=0;j<s.length();j++){res[s.charAt(j)-'a']--;}for(int k=0;k<res.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];}HashSet<Integer> set = new HashSet<Integer>();HashSet<Integer> resSet = new HashSet<Integer>();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 不好处理HashSet<Integer> records = new HashSet<>();while(n!=1&&!records.contains(n)){records.add(n);n=getNextNumber(n);}return n==1;}int getNextNumber(int n){int sum=0;while(n!=0){int tmp=n%10;sum+=tmp*tmp;n=n/10;}return sum;}}

四、[1]两数之和

map

class Solution {public int[] twoSum(int[] nums, int target) {HashMap<Integer, Integer> map = new HashMap<>();//注意一下int[] res=new int[2];//临界条件if(nums == null || nums.length == 0){return res;}for(int j=0;j<nums.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;}
}

 

 

http://www.lryc.cn/news/374620.html

相关文章:

  • C语言实现动态栈
  • 进程间的通信
  • hadoop/hive/DBeaver启动流程
  • 1节18650锂电池的容量是多大,电流,电压是多大
  • 基于GA遗传算法的多机无源定位系统GDOP优化matlab仿真
  • Linux C语言:多级指针(void指针和const)
  • MicroPython+ESP32 C3开发上云
  • 动态 SQL
  • 功能强大的多功能文档转换工具Neevia Document Converter Pro 7.5.0.241
  • 从零到一,深入浅出大语言模型的奇妙世界
  • ESP8266发送WOL幻数据包实现电脑远程唤醒
  • 用一个ESP32S3-Zero把有线键盘变为无线
  • Redis 7.x 系列【3】多种连接方式
  • 数据结构(DS)C语言版:学习笔记(4):线性表
  • Linux 命令大全
  • [华为北向网管NCE开发教程(6)消息订阅
  • 2024.6.15 英语六级 经验与复盘
  • 计算机专业的未来展望
  • Shell变量的高级用法
  • 【Python/Pytorch - 网络模型】-- SVD算法
  • 全光万兆时代来临:信而泰如何推动F5G-A(50PONFTTR)技术发展
  • 港科夜闻 | 香港科大与香港科大(广州)合推红鸟跨校园学习计划,共享教学资源,促进港穗学生交流学习...
  • 基于Wireshark实现对FTP的抓包分析
  • Vue54-浏览器的本地存储webStorage
  • Linux下Shell脚本基础知识
  • 爬虫初学篇——看完这些还怕自己入门不了?
  • [数据集][目标检测]减速区域检测数据集VOC+YOLO格式1654张1类别
  • OpenGL3.3_C++_Windows(8)
  • GPU的工作原理
  • Linux常⽤服务器构建-samba