代码随想录一刷day7 哈希表day1

news/2025/3/13 10:47:43/文章来源:https://www.cnblogs.com/wzzz-blogs/p/18523765

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

但是哈希法也是牺牲了空间换取了时间,因为我们要使用额外的数组,set或者是map来存放数据,才能实现快速的查找。

常见三种实现哈希表的数据结构:数组 set集合 map映射

下面是set map的

红黑树是一种平衡二叉搜索树,所以key值是有序的,但key不可以修改,改动key值会导致整棵树的错乱,所以只能删除和增加。

 要使用集合来解决哈希问题的时候,优先使用unordered_set,因为它的查询和增删效率是最优的,如果需要集合是有序的,那么就用set,如果要求不仅有序还要有重复数据的话,那么就用multiset。

虽然std::set和std::multiset 的底层实现基于红黑树而非哈希表,它们通过红黑树来索引和存储数据。不过给我们的使用方式,还是哈希法的使用方式,即依靠键(key)来访问值(value)。所以使用这些数据结构来解决映射问题的方法,我们依然称之为哈希法。

题:

242.有效的字母异位词

思路:注意不要看到字符串处理有畏难心理

很简单,创建一个26个字符的数组,遍历s,对应字符-‘a' ++,反过来遍历t, --,如果有非零的则返回false;

 

49.字母异位词分组

 思路1:可以用排序来进行,存储用unordered——map

思路2:计数

用int数组记录每个出现多少,然后输出如 2a3b等字符串来作为key值,再通过key值匹配,有点麻烦

 

438.找到字符串中所有字母异位词

思路:滑动窗口

首先将slen<plen的进行返回

然后对正常的进行处理

1.计数

2.减去头一个,加上后一个

3.每一次操作完都进行比较,如果正确则加入ans

 

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

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

相关文章

SpringCloud入门到高级

服务注册与发现 服务调用和负载均衡(LoadBalancer/OpenFeign) LoadBalancer 案例:80通过轮询负载访问8001/8002/8003LoadBalancer 在工作时分成两步: 第一步,先选择ConsulServer从服务端查询并拉取服务列表,知道了它有多个服务(上图3个服务),这3个实现是完全一样的, 默认…

探索高效项目管理新境界:项目管理应用深度解析

在当今这个快节奏、高效率的时代,项目管理已成为企业成功的关键要素之一。无论是初创公司还是大型企业,都需要借助高效的项目管理工具来确保项目按时、按质、按量完成。今天,我们将一起探索几款备受推崇的项目管理应用,它们各自拥有独特的优势和功能,旨在帮助团队提升协作…

Wgpu图文详解(02)渲染管线与着色器

在本系列的第一篇文章中(《Wgpu图文详解(01)窗口与基本渲染》),我们介绍了如何基于0.30+版本的winit搭建Wgpu的桌面环境,同时也讲解了关于Wgpu一些基本的概念、模块以及架构思路,并基于wgpu库实现了一个能展示有颜色背景的窗体。而在本篇文章中,我们将开始介绍Wgpu中的…

ES IK分词器配置本地词典 远程词典

修改IK分词器配置文件路径一般在:xxx/plugins/xxx/config/IKAnalyzer.cfg.xml 配置本地词典本地词典,放到同级目录下,重启ES服务即可;配置远程词典新建springboot工程,将文件放到statis目录下;远程词典,放到其他共享地址也可以哈~,没必要非得springboot工程中修改配置配…

(触摸屏cMT2079x + 路由器DAYUA-BE30) 实现PC,手机,平板端的设备监控

1, 华为路由器设置 2, 威纶通触摸屏cMT2079x设置 (1)网络连接, 可以连接LAN1, 也可以连接LAN2, 同网段即可;

移远EC200U-EU欧洲版 CAT1模组使用

1. 外观如下,CAT1模组,主要是用来做一个欧洲的电压检测设备

UE5 GameFeature示例项目《古代山谷(Valley of the Ancient)》中Action_SpawnActor无法动态拔插的问题

前因 最近在研究GameFeature这个功能,UE官方推荐的是《古代山谷》这个项目,因为在其中用到了很多的新功能,GameFeature也在其中。观察到原来的GameFeature默认提供的action中其实功能比较有限,于是就从《古代山谷》拷贝了一些Action来用,结果Action_SpawnActor并无法在我自…

Java并发编程 --- 线程安全

为什么会有线程安全问题? 为什么会存在线程安全问题呢?那我们先来探究一下JMM(Java内存模型)线程与JMM 每个线程都有自己的工作内存,它会存储主内存中变量的Copy值,再对变量进行操作的时候,也是操作工作内存中变量的Copy值。 当线程Dead(生命周期结束)时,才会将自己工作内…

WEB_方案查询F7的类型设置为F7某个字段的查询

如下图,在方案查询条件中,【票据号码】与【软通票据】在单据上其实都是F7字段,但是票据号码在这里是字符串查询,而软通票据是F7的样式,这是怎么样将F7的字段查询弄成文本框查询的呢,实际上是通过修改单据列表的query里的属性来实现的,具体修改如下:如果选择的使用F7,则…

Apache DolphinScheduler + OceanBase,搭建分布式大数据调度平台的实践

本文整理自白鲸开源联合创始人,Apache DolphinScheduler PMC Chair,Apache Foundation Member 代立冬的演讲。主要介绍了DolphinScheduler及其架构、DolphinScheduler与OceanBase 的联合大数据方案。 DolphinScheduler是什么? Apache DolphinScheduler,作为一款云原生且配备…

.NET 全功能流媒体管理控制接口平台

前言 视频会议、在线教育、直播娱乐还是远程监控,流媒体平台的性能和稳定性直接影响着用户体验。 给大家推荐一个基于 C# 开发的全功能流媒体管理控制接口平台。 项目介绍 AKStream是一个基于 C# 开发的全功能流媒体管理控制接口平台。 它集成了 GB28181、RTSP、RTMP、HTTP 等…