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

day5|242.有效的字母异位词、349. 两个数组的交集

242.有效的字母异位词

题目链接:https://leetcode.cn/problems/valid-anagram/
文章链接:https://programmercarl.com/0242.%E6%9C%89%E6%95%88%E7%9A%84%E5%AD%97%E6%AF%8D%E5%BC%82%E4%BD%8D%E8%AF%8D.html
视频链接:https://www.bilibili.com/video/BV1YG411p7BA/

package com.fifthday.hashtable;import com.threeday.listnode.ListNode;/*** 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。** 示例 1: 输入: s = "anagram", t = "nagaram" 输出: true** 示例 2: 输入: s = "rat", t = "car" 输出: false** 说明: 你可以假设字符串只包含小写字母。*/
public class IsAnagram {public static void main(String[] args) {String s = "anagram";String t = "nagaram";System.out.println(isAnagram(s,t));}public static boolean isAnagram(String s,String t){int[] records = new int[26];  //对应26个字母的空间for (int i = 0; i < s.length(); i++) {records[s.charAt(i)-'a']++;   //s字符串:对应的数组值+1}for (int i = 0; i < t.length(); i++) {records[t.charAt(i)-'a']--;     //t字符串:对应的数组值-1}for (int i = 0; i < records.length; i++) {if (records[i] !=0 ){       //遍历数组:如果出现不等于0的情况就是两个字符串对应的字符个数是不同的return false;}}return true;}
}

349. 两个数组的交集

题目链接:https://leetcode.cn/problems/intersection-of-two-arrays/
文章链接:https://programmercarl.com/0349.%E4%B8%A4%E4%B8%AA%E6%95%B0%E7%BB%84%E7%9A%84%E4%BA%A4%E9%9B%86.html
视频链接:https://www.bilibili.com/video/BV1ba411S7wu/

/*** 给定两个数组,编写一个函数来计算它们的交集。** 输出结果中的每个元素一定是唯一的。 我们可以不考虑输出结果的顺序**/
public class InterSection {public static void main(String[] args) {int[] nums1 ={1,2,2,1};int[] nums2 ={2,2};int[] result = interSection(nums1, nums2);for (int e : result){System.out.print(e+" ");}}public static 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> resSet = new HashSet<>(); //  存储交集的集合//先把一个数组转成set集合for (int i = 0; i < nums1.length; i++) {set1.add(nums1[i]);}//使用contains()方法来判断是否存在交集的值for (int i = 0; i < nums2.length; i++) {if (set1.contains(nums2[i])){//如果存在添加到set集合,防止有重复元素出现resSet.add(nums2[i]);}}//最后将set集合转成数组return resSet.stream().mapToInt(e->e).toArray();}
}
http://www.lryc.cn/news/175742.html

相关文章:

  • 【Python基础】常用模块学习:sys|os|pytest
  • 【煤矿虚拟仿真体验】VR采煤机技能培训有效提高训练效果
  • 渲染路径RenderingPath
  • 【Java】泛型 之 extends通配符
  • 光谱-空间特征分割提取:多光谱图像压缩
  • 绝缘子主要尺寸
  • 什么是哈希表?如何使用哈希表进行数据存储和查找?
  • 脑机接口的发展研究
  • 短期光伏发电量短期预测(Python代码,先对异常值处理,再基于XGBoost模型预测)
  • SpringCloud Gateway--Predicate/断言(详细介绍)中
  • Linux内核启动流程-第一阶段汇编流程简介
  • SpringBoot-Druid
  • PAT甲级真题1006:签到与签出
  • 【架构篇】Supabase架构和功能介绍
  • Github主页无法打开和Assets转圈
  • rm误删文件恢复
  • 爬虫 — 多线程
  • Cython 笔记 (Python/Jython)
  • [React] react-hooks如何使用
  • 多个pdf合并成一个文件,3个方法合并pdf
  • 代码随想录 动态规划Ⅸ
  • 【数据结构】散列表(哈希表)的学习知识总结
  • 2023智慧云打印小程序源码多店铺开源版 +前端
  • 利用亚马逊 云服务器 EC2 和S3免费套餐搭建私人网盘
  • 数据分析技能点-数据的种类
  • 解读:ISO 14644-21:2023《洁净室及相关受控环境:悬浮粒子采样》发布指导粒子采样!
  • Java --- MySQL8之索引优化与查询优化
  • 澳大利亚新版《2023年消费品(36个月以下儿童玩具) 安全标准》发布 旨在降低危险小零件的伤害
  • 表格内日期比较计算
  • Linux内核启动流程-第二阶段start_kernel 函数