[leetcode] 哈希表

文章目录

    • 1.有效字母的异位词 E
    • 2. 两个数组的交集 E
    • 3.快乐数 E

1.有效字母的异位词 E

:::details

给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。

注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。

示例 1:

输入: s = “anagram”, t = “nagaram”
输出: true
示例 2:

输入: s = “rat”, t = “car”
输出: false

提示:

1 <= s.length, t.length <= 5 * 104
s 和 t 仅包含小写字母

进阶: 如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况?

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/valid-anagram
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

func isAnagram(s string, t string) bool {if len(s) != len(t) {return false}n := len(s)hashMap := make(map[byte]int)for i:=0; i<n; i++ {v := s[i]if n,ok := hashMap[v]; ok {hashMap[v] = n + 1} else {hashMap[v] = 1}}for i:=0; i<n; i++  {v := t[i]if n,ok := hashMap[v]; n > 0 && ok {hashMap[v] = n - 1} else {return false}}return true
}

:::

2. 两个数组的交集 E

:::details

给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。

示例 1:

输入:nums1 = [1,2,2,1], nums2 = [2,2]
输出:[2]
示例 2:

输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]
输出:[9,4]
解释:[4,9] 也是可通过的

提示:

1 <= nums1.length, nums2.length <= 1000
0 <= nums1[i], nums2[i] <= 1000
通过次数295,087提交次数398,258

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/intersection-of-two-arrays
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

  • 直接hash
func intersection(nums1 []int, nums2 []int) []int {hash := make(map[int]int)res := make([]int,0)for _, v := range nums1 {if _,ok := hash[v]; !ok {hash[v] = 1}}for _,v := range nums2 {if _,ok := hash[v]; ok {delete(hash,v)res = append(res,v)}}return res
}

:::

3.快乐数 E

:::details

编写一个算法来判断一个数 n 是不是快乐数。

「快乐数」 定义为:

对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。
然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。
如果这个过程 结果为 1,那么这个数就是快乐数。
如果 n 是 快乐数 就返回 true ;不是,则返回 false 。

示例 1:

输入:n = 19
输出:true
解释:
12 + 92 = 82
82 + 22 = 68
62 + 82 = 100
12 + 02 + 02 = 1
示例 2:

输入:n = 2
输出:false

提示:

1 <= n <= 231 - 1

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/happy-number
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

var (ONE = 1
)
func isHappy(n int) bool {hash := make(map[int]struct{})for {sum := getSum(n)if sum == ONE {return true}if _,ok := hash[sum]; ok {return false} else {hash[sum] = struct{}{}}n = sum}
}func getSum(n int) int {sum := 0for n > 0 {sum += (n%10)*(n%10)n /= 10}return sum
}

:::

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

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

相关文章

Pytorch简明教程01

文章目录 01 Pytorch基础知识1.1 Tensor简介1.2 Tensor的创建1.3 张量的操作1. 运算操作2. 矩阵运算3. 维度变换4. 扩展和压缩维度 1.4 广播机制1.5 梯度计算 01 Pytorch基础知识 主要介绍pytorch中的tensor&#xff0c;包括tensor的创建、基本操作、广播机制等 1.1 Tensor简介…

Windows安装Mysql8

新建Mysql配置文件 my.ini [mysql] # 设置mysql客户端默认字符集 default-character-setutf8 [mysqld] #设置3306端口 port 3306 # 设置mysql的安装目录 basedirD:\\KaiNeng\\mysql-8.0.26-winx64 # 设置mysql数据库的数据的存放目录 datadirD:\\KaiNeng\\m…

爬虫工作量由小到大的思维转变---<第六十四章 > Scrapy利用Bloom过滤器增强爬虫的页面去重效率

前言&#xff1a; 网络爬虫系统是信息时代获取和管理网络数据的重要工具&#xff0c;广泛应用于搜索引擎索引、数据聚合、在线研究等领域。随着网络信息的海量增长&#xff0c;爬虫系统不可避免地会面临重复内容的爬取问题。这不仅浪费了计算资源和网络带宽&#xff0c;而且还会…

24计算机考研调剂 | 中国航天科工集团第三研究所第八三五八研究所

中国航天科工集团第三研究院第八三五八研究所 2024年航天科工集团三院8358所调剂基本要求 一、8358所坐落天津&#xff0c;为定向招生&#xff08;毕业后留所工作&#xff09;&#xff1b; 二、本年度拟调剂名额4-5人&#xff1b; 三、我所接收符合条件的调剂考生&#xff1a;…

代码第三十五天-子集Ⅱ

子集Ⅱ 题目要求 解题思路 回溯法 一般情况下&#xff0c;看到题目要求[所有可能的结果]&#xff0c;而不是[结果的个数]&#xff0c;我们就知道需要暴力搜索所有的可行解了&#xff0c;可以使用[回溯法] 回溯法是一种算法思想&#xff0c;而递归式一种编程方式&#xff0c;回…

Cesium实现渐变面

一、效果图 二、实现思路 使用着色器&#xff0c;通过纹理坐标和其他参数计算出材质的颜色和透明度。通过给定的颜色、漫反射强度和透明度&#xff0c;计算出最终的反射颜色和透明度&#xff0c;并且根据给定的中心点位置和当前像素的纹理坐标&#xff0c;计算出距离中心的距离…

C++未格式化的输入/输出操作,流随机访问

未格式化的输入/输出操作 到目前为止&#xff0c;我们的程序只使用过格式化IO操作。输入和输出运算符(<<和>>)根据读取或写入的数据类型来格式化它们。输入运算符忽略空白符&#xff0c;输出运算符应用补白、精度等规则。 标准库还提供了一组低层操作&#xff0c;…

(一)kafka实战——kafka源码编译启动

前言 本节内容是关于kafka消息中间键的源码编译&#xff0c;并通过idea工具实现kafka服务器的启动&#xff0c;使用的kafka源码版本是3.6.1&#xff0c;由于kafka源码是通过gradle编译的&#xff0c;以及服务器是通过scala语言实现&#xff0c;我们要预先安装好gradle编译工具…

[已解决]ModuleNotFoundError: No module named ‘triton‘

问题描述&#xff1a;ModuleNotFoundError: No module named triton window下难以编译&#xff0c;直接下载win版本已经编译的&#xff1a; https://huggingface.co/r4ziel/xformers_pre_built/blob/main/triton-2.0.0-cp310-cp310-win_amd64.wh

每日一练 找无重复字符的最长子串

我们来看下这个题目&#xff0c;我们要统计的是不重复的子串&#xff0c;我们可以使用“滑动窗口法”&#xff0c;其实我们很容易就能想到思路。 我们的左窗代表我们目前遍历的开始&#xff0c;即我们遍历的子串的开头&#xff0c;右窗从左窗开始进行遍历&#xff0c;每次遍历…

【C语言终章】预处理详解(上)

【C语言终章】预处理详解&#xff08;上&#xff09; 当你看到了这里时&#xff0c;首先要恭喜你&#xff01;因为这里就是C语言的最后一站了&#xff0c;你的编程大能旅途也将从此站开始&#xff0c;为坚持不懈的你鼓个掌吧&#xff01; &#x1f955;个人主页&#xff1a;开敲…

04-MySQL数据库-权限管理

一、查看权限 1&#xff0c;查看系统所有权限 mysql> show privileges; 权限字段介绍 privileges #权限名称 context #对象&#xff0c;表示可以对数据库&#xff0c;那些资源、进行哪些操作&#xff1b; comment #描述&#xff0c;备注解释说明&#xff1b; Grant…

Caddy之静态站点应用场景

一、背景与介绍 无意之中看到公司部门的软件介质下载站点不是使用Nginx部署&#xff0c;而是使用Caddy。就比较好奇了&#xff0c;这个Caddy是个什么东西? 为啥他们没用Nginx呢&#xff0c;带着好奇心搜索了一下相关资料。 官方解释: Caddy is a powerful, extensible platfo…

Redis 事务 与 管道

redis事务 谈到事务大家可能就会想起mysql中的事务 注意这里的事务不是指的是事务的四大特性acid 持久性 原子性 隔离性 一致性 事务的概念就是 一组命令,串行化执行而不被打断 这里redis的事务和mysql的事务就不太一样 传统关系型数据库的事务主要强调的是一个没有执行完成就…

neo4j使用详解(六、cypher常用函数语法——最全参考)

Neo4j系列导航&#xff1a; neo4j及简单实践 cypher语法基础 cypher插入语法 cypher插入语法 cypher查询语法 cypher通用语法 cypher函数语法 4.常用函数 主要包括谓词函数&#xff08;断言函数&#xff09;、标量函数、聚合函数、字符串函数以及集合函数 4.1.谓词函数&#…

数据结构--循环链表(C语言实现)

一.循环链表的设计 typedef struct CNode{ int data; struct CNode* next; }CNode ,*CList; 2.循环链表的示意图: 3.循环链表和单链表的区别: 唯一区别,没有空指针,尾节点的后继为头,为循环之意. 二.循环链表的实现 //初始化return true; }//返回key的前驱地址&#xff0c;如果…

Lazarus远控组件NukeSped分析

静态信息&#xff1a; 样本md5&#xff1a;9b656f5d7e679b94e7b91fc3c4f313e4 由此可见为假的Adobe Flash Player 的攻击样本 样本分析 通过五个函数&#xff0c;内部调用sub_40159D函数动态获取API函数 利用IDA python解密字符串。。 完整python代码 Python> idc.get_…

MongoDB副本集环境搭建(以单机Windows为例)

前言 近期有搭建MongoDB副本集的需求,简单记录一下搭建过程(以本地Windows环境为例)。 一、副本集选型 1 Primary节点、1 Secondary 节点、1 Arbiter节点模式副本集环境搭建。 二、搭建过程 1. 安装MongoDB服务 下载地址:https://www.mongodb.com,如下图所示: 选择…

android 13 相册和拍照问题

android 在13以下。拍照和从相册选取图片需要使用 存储权限&#xff0c;相机权限。 在使用时候 需要声申请 Manifest.permission.WRITE_EXTERNAL_STORAGEManifest.permission.CAMERA 这2个权限。 但是在android 13以及以上时候&#xff0c;不需要申请 Manifest.permission…

基于Springboot旅游网站管理系统设计和实现

基于Springboot旅游网站管理系统设计和实现 博主介绍&#xff1a;多年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐留言 文末获取源码联系…