算法训练营day06--242.有效的字母异位词+349. 两个数组的交集+202. 快乐数+1. 两数之和

一、242.有效的字母异位词

题目链接:https://leetcode.cn/problems/valid-anagram/description/
文章讲解: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

1.1 初见思路

1.使用数组来实现,char-'a’的值作为下标,遍历第一个字符串出现就+1,遍历第二个字符串,出现的下标对应值-1
2.遍历完后,遍历一遍数组,看是否都为0,只要有一个不为0,则返回false

1.2 具体实现

class Solution {public boolean isAnagram(String s, String t) {int[] arr = new int[26];char[] sArr = s.toCharArray();char[] tArr = t.toCharArray();for(int i=0;i<sArr.length;i++){arr[sArr[i]-'a'] += 1;}for(int i=0;i<tArr.length;i++){arr[tArr[i]-'a'] -= 1;}for(int i=0;i<arr.length;i++){if(arr[i]!=0){return false;}}return true;}
}

1.3 重难点

找对思路,这题就好做。

二、 349. 两个数组的交集

题目链接:https://leetcode.cn/problems/intersection-of-two-arrays/description/
文章讲解: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#%E7%AE%97%E6%B3%95%E5%85%AC%E5%BC%80%E8%AF%BE
视频讲解:https://www.bilibili.com/video/BV1ba411S7wu

2.1 初见思路

2.2 具体实现

class Solution {public int[] intersection(int[] nums1, int[] nums2) {HashSet<Integer> set = new HashSet<>();HashSet<Integer> resultSet = new HashSet<>();for (int i : nums1) {set.add(i);}for(int i:nums2){if(set.contains(i)){resultSet.add(i);}}int[] res = new int[resultSet.size()];int k =0;for (Integer i : resultSet) {res[k++]=i;}return res;}
}

2.3 重难点

三、 202. 快乐数

题目链接:https://leetcode.cn/problems/happy-number/description/
文章讲解:https://programmercarl.com/0202.%E5%BF%AB%E4%B9%90%E6%95%B0.html#%E6%80%9D%E8%B7%AF
视频讲解:

3.1 初见思路

1.乍看没啥规律,但是将示例2进行模拟就会发现,这个题就是在sum的值为1之前,判断sum的集合中是否出现重复元素。

3.2 具体实现

class Solution {public boolean isHappy(int n) {HashSet set = new HashSet<Integer>();while(n!=1 && !set.contains(n)){set.add(n);n=getSum(n);}return n==1;}public int getSum(int n){int sum=0;while(n!=0){int temp = n%10;sum+=temp*temp;n=n/10;}return sum;}
}

3.3 重难点

  • while循环条件要掌握

四、 1. 两数之和

题目链接:https://leetcode.cn/problems/two-sum/description/
文章讲解:https://programmercarl.com/0202.%E5%BF%AB%E4%B9%90%E6%95%B0.html#%E6%80%9D%E8%B7%AF
视频讲解:

4.1 初见思路

4.2 具体实现

class Solution {public int[] twoSum(int[] nums, int target) {int[] res = new int[2];HashMap<Integer,Integer> map = new HashMap<>();for(int i=0;i<nums.length;i++){if(!map.containsKey(target-nums[i])){map.put(nums[i],i);}else{res[0]=i;res[1]=map.get(target-nums[i]);return res;}}return res;}
}

4.3 重难点

  • 简单题想一次过也不容易
  • 要想清楚map的key和value都存的什么值
  • 判断条件是什么以及结果从哪里取

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/26941.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

知识图谱存在的挑战---基础知识库相关和开发工具相关

文章目录 基础知识库相关开发工具相关 基础知识库相关 基础知识库是构建知识图谱的主要数据来源&#xff0c;包括维基百科、Freebase、YAGO、及国内的Zhishi.me、CN-Dbpedia、X-lore等。但在构建大规模知识图谱时将涉及不同基础知识库数据&#xff0c;而且在不同基础知识库的融…

是否可以购买外链?

答案是可以&#xff0c;但要看你买什么外链&#xff0c;有价值的自然外链价格肯定也高&#xff0c;随便到某些平台发的外链&#xff0c;哪怕是相关的高权重平台&#xff0c;作用也有限&#xff0c;当然&#xff0c;你要大批量购买&#xff0c;说不定也能出一点效果&#xff0c;…

基于Java的诊所医院管理系统,springboot+html,MySQL数据库,用户+医生+管理员三种身份,完美运行,有一万一千字论文

演示视频 基本介绍 基于Java的诊所医院管理系统&#xff0c;springboothtml&#xff0c;MySQL数据库&#xff0c;用户医生管理员三种身份&#xff0c;完美运行&#xff0c;有一万一千字论文。 用户&#xff1a;个人信息管理、预约医生、查看病例、查看公告、充值、支付费用...…

【CT】LeetCode手撕—53. 最大子数组和

目录 题目1-思路2- 实现⭐53. 最大子数组和——题解思路 3- ACM 实现 题目 原题连接&#xff1a;53. 最大子数组和 1-思路 动规五部曲 1. 定义 dp 数组 dp[i] 含义为&#xff1a;下标为 i 的数组的最大子数组和 2. 递推公式 因为所求的是最大子数组的和&#xff0c;即当前 n…

快速掌握JUnit等测试框架的使用,进行Java单元测试

1. 单元测试简介 单元测试&#xff08;Unit Testing&#xff09;是一种软件测试方法&#xff0c;通过对软件中的最小可测试单元进行验证&#xff0c;确保它们按预期工作。单元测试通常用于测试一个类的单个方法&#xff0c;以确保其逻辑正确、边界情况处理妥当、异常处理合适。…

【HarmonyOS - UIAbility组件和UI的数据同步】

简述 基于HarmonyOS的应用模型&#xff0c;可以通过以下几种方式来实现UIAbility组件与UI之间的数据同步。 使用EventHub进行数据通信&#xff1a;基于发布订阅模式来实现&#xff0c;事件需要先订阅后发布&#xff0c;订阅者收到消息后进行处理。使用globalThis进行数据同步…

unity 打包PC安装包中常见文件的功能

目录 前言 一、打包好的文件 二、常用文件 1.文件夹XXX_Data 2.文件夹MonoBleedingEdge 3.文件夹XXX_Data内部 三、文件的应用 1.如果你替换了一个图片 2.如果你新增了或减少了图片和资源 3.场景中有变动 4.resources代码加载的资源改了 5.如果你代码替换了 四、作…

Vue11-键盘事件

一、键盘事件&#xff1a;keydown和keyup事件 keydown 和 keyup 是两种常用于处理键盘输入事件的JavaScript事件。当你在网页的输入框或其他可输入元素上按下或释放键盘上的某个键时&#xff0c;这些事件就会被触发。 1-1、keydown 事件 当用户按下键盘上的某个键时&#xff…

vue3第三十九节(TS中的高级类型,分类以及使用注意事项)

前言&#xff1a;为什么需要使用高级类型&#xff0c;正常的类型不能满足日常的业务需求&#xff0c;对于复杂的数据结构、函数签名、类型转换&#xff0c;我们需要使用高级类型来处理&#xff0c;常用的高级类型包含以下几种&#xff1a; 常用的类型定义&#xff1a; 基本类…

SQL入门大全

SQL&#xff08;Structured Query Language&#xff0c;结构化查询语言&#xff09;是一种用于管理关系型数据库的标准编程语言。它具有数据操纵和数据定义等多种功能&#xff0c;为数据库管理系统提供了强大的交互性特点&#xff0c;能够极大地提高计算机应用系统的工作质量与…

【源码】html+JS实现:24小时折线进度图

<!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <title>24小时折线进度图</title> <st…

安全等保评测-什么是“等保“?

等级保护测评是经公安部认证的具有资质的测评机构&#xff0c;依据国家信息安全等级保护规范规定&#xff0c;受有关单位委托&#xff0c;按照有关管理规范和技术标准&#xff0c;对信息系统安全等级保护状况进行检测评估的活动。 等保测评全称为信息安全等级保护测评&#xf…

基于SpringBoot3+Vue3宠物小程序宠物医院小程序的设计与实现

大家好&#xff0c;我是程序员小孟。 最近开发了一个宠物的小程序&#xff0c;含有详细的文档、源码、项目非常的不错&#xff01; 一&#xff0c;系统的技术栈 二&#xff0c;项目的部署教程 前端部署包&#xff1a;npm i 启动程序&#xff1a;npm run dev 注意事项&…

qmt量化交易策略小白学习笔记第30期【qmt编程之获取行业概念数据--如何获取板块分类信息数据以及板块成分股数据】

qmt编程之获取行业概念数据 qmt更加详细的教程方法&#xff0c;会持续慢慢梳理。 也可找寻博主的历史文章&#xff0c;搜索关键词查看解决方案 &#xff01; 感谢关注&#xff0c;咨询免费开通量化回测与获取实盘权限&#xff0c;欢迎和博主联系&#xff01; 获取行业概念数…

【通信协议-RTCM】GPS-RTK可观测消息 ---- 对应RTCM十六进制 编码ID(3E9 3EA 3EB 3EC)

1. 消息头的内容&#xff0c;类型1001、1002、1003、1004:GPS RTK消息 DATA FIELDDF NUMBERDATA TYPENO. OF BITS Message Number(e.g.,“1001” 0011 1110 1001) - 消息编号 DF002 uint12 12 Reference Station ID - 参考值ID DF003 uint12 12 GPS Epoch Time (TOW) - 周内秒…

深度学习的点云分割

深度学习的点云分割 点云分割是计算机视觉中的一个重要任务&#xff0c;特别是在三维数据处理和分析中。点云数据是由大量三维点构成的集合&#xff0c;每个点包含空间坐标&#xff08;x, y, z&#xff09;&#xff0c;有时还包含其他信息如颜色和法向量。点云分割的目标是将点…

Hadoop 3.X HA集群部署

准备工作 1、确认各个服务器网络是否互通、时间是否同步 2、确认各个节点部署那些组件 ip地址host名部署组件192.168.190.130h202406131 NameNode ResourceManager QuorumPeerMain JournalNode DFSZKFailoverController JobHistoryServer 192.168.190.131h202406132 NameNod…

React中“WebSocket is closed before the connection is established“

在 React 中你需要将它添加到你useEffect的return useEffect(() > {const socket new WebSocket(address);return () > {if (socket.readyState 1) { // <-- This is importantsocket.close();}} }, []);然而&#xff0c;这不仅仅是最好的解决方案&#xff01;您需…

uniapp地图选择位置

直接上代码 通过一个点击事件调用官方api即可调用 点击调用成功后显示如下 然后选择自己所需要的位置即可

RAM IP核配置

REVIEW 之前已经学习过&#xff1a; ROM:FPGA寄存器 Vivado IP核-CSDN博客 串口接收&#xff1a;Vivado 串口接收优化-CSDN博客 1. 今日摸鱼计划 RAM创建与测试 小梅哥视频&#xff1a; 21C_嵌入式块存储器RAM介绍_哔哩哔哩_bilibili 21D_嵌入式块存储器RAM实现和仿真_哔哩…