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

卡尔算法哈希表

                                  一:有效的字母异位词part1·题意:给出两个字符串,判断是否可以更改字符串内字母的顺序,从而使得两个字符串的单词一样。注意该题目认为两个相同字母顺序的字符串也是相同的。同样也返回true。即题目让我们判断两个字符串中字母是否相同,位置不一样也行。判断s1是否为s2的有效字母异位词。字母都由小写字母组成(连续)。 part2·哈希法解题:此时要求我们判断一个集合中的元素是否与另外一个集合中的元素是否相同。立马想到哈希表由于只有26个字母,数据比较小。所以可以用hash【】来解决问题。大体步骤就是将s1中出现的字母对应到hash数组相应的位置++。再将s2中出现的字母对应到hash中--。最后看hash数组是否所有值为零即可。part3·代码实现:关键就是将s1中‘a’放到hash【0】,以此类推。hash(s【i】-‘a’)++最后映射完了就遍历一遍hash数组判断是否全为0即可 part4·总结:哈希的题目能用数组就用数组,因为用数组简单。二:两个数组的交集part1:解题思路:给出两个数组,需要输出交集数组。这个交集数组要求元素不能重复。数据小于1000。此时要求我们判断一个集合中的元素是否与另外一个集合中的元素是否相同。立马想到哈希表part2:set解决:弄一个set,用来存num1并且去重,然后再遍历num2看他的元素是否在set里面,在就输出该元素到result里面首先将num1放入num-set中。在判断num2中单元素是否在num-set中,如果在,则将该元素放入result中。由于题目要求最后返回的是数组,所以可以用vector将result转化为数组  由于要去重,且要查询set里面的元素,可以考虑unordered-set。创建vector数组与函数数组与set之间的相互转换:vector《int》新的for循环遍历方法:for(int num:num2),将nus2中元素赋值给numpart3:总结
http://www.jsqmd.com/news/33503/

相关文章:

  • Rust 之二 各组件工具的源码、构建、配置、使用 - 教程
  • java第三天
  • 新东方听力day2
  • P9596 [JOI Open 2018] 冒泡排序 2 做题记录
  • 超级管理员目录索引的Google搜索技巧
  • 被称作永恒之物 在交替更迭中徒劳地缝补 被称作易逝之物 书写了十四行啼哭
  • 无限欢愉 深入推进 我沦陷在那片故地 我渴饮着 你的呼吸 却得不到 你的心
  • 【学术】数论分块保姆级教程
  • 基础架构
  • 2025数据库审计产品选型指南:十大厂商综合评测与趋势解析
  • Word表格1.5倍行距居中问题
  • 详细介绍:后端_Redis 分布式锁实现指南
  • 构建AI智能体:五十七、LangGraph + Gradio:构建可视化AI工作流的趣味指南 - 教程
  • 日总结 23
  • 详细介绍:基于Echarts+HTML5可视化数据大屏展示-车辆综合管控平台
  • 基于ollama和streamlit的聊天机器人
  • CSP-S 2025 T2 [道路建设]
  • 使用Git钩子+ husky + lint语法检查提高前端项目代码质量
  • [题解]P10277 [USACO24OPEN] Bessies Interview S
  • 关于 Java快速查找详细
  • 什么是Ansible 清单 - 详解
  • 完整教程:如何用开源软件
  • 第一次团队项目作业
  • 隨機變量本質之最終闡述
  • 足式机器人适应多地形的方案
  • 使用vLLM实测3090和4090的大模型推理性能
  • CF1700F Puzzle
  • Redis高可用与高并发探险之旅:从单机到集群的完美进化【第三部分】
  • UE:论运行时动画录制的关键-正确获取骨骼数据与保存
  • 线性基相关