数据结构:一般哈希

数据结构:一般哈希

    • 题目描述
    • 参考代码
      • 拉链法
      • 开放寻址法

题目描述

在这里插入图片描述
输入样例

5
I 1
I 2
I 3
Q 2
Q 5

输出样例

Yes
No

参考代码

拉链法

#include <iostream>
#include <cstring>
using namespace std;const int N = 100003;int h[N], e[N], ne[N], idx;void insert(int x)
{int k = (x % N + N) % N;e[idx] = x, ne[idx] = h[k], h[k] = idx ++;
}bool find(int x)
{int k = (x % N + N) % N;for (int i = h[k]; i != -1; i = ne[i])if (e[i] == x)return true;return false;
}int main()
{int n;scanf("%d", &n);memset(h, -1, sizeof h);while (n --){char op[2];int x;scanf("%s%d", op, &x);if (*op == 'I') insert(x);else{if (find(x)) puts("Yes");else puts("No");}}return 0;
}

开放寻址法

#include <iostream>
#include <cstring>
using namespace std;const int N = 200003, null = 0x3f3f3f3f;int h[N];int find(int x)
{int k = (x % N + N) % N;while (h[k] != null && h[k] != x){k ++;if (k == N) k = 0;}return k;
}int main()
{int n;scanf("%d", &n);memset(h, 0x3f, sizeof h);	// 每一个字节都是0x3f,int类型是4字节,所以是0x3f3f3f3fwhile (n --){char op[2];int x;scanf("%s%d", op, &x);int k = find(x);if (*op == 'I') h[k] = x;else{if (h[k] != null) puts("Yes");else puts("No");}}return 0;
}

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

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

相关文章

docker架构

docker架构 Docker daemon 是Docker最核心的后台进程&#xff0c;它负责响应来自Dockerclient的请求&#xff0c;然后将这此请求翻译成系统调用完成容器管理操作。该进程会在后台后启动一个APIServer&#xff0c;负责接收由 Dockerclient发送的请求&#xff1b;接收到的请求将通…

FFmpeg编解码的那些事(2)

软解码 1.构建输入AVFormatContext AVFormatContext* avFormatContext avformat_alloc_context();int res avformat_open_input(&avFormatContext,filename.toUtf8().data(), NULL, NULL);//打开文件if (res < 0) {qCritical()<<__FUNCTION__<<__LINE__&…

【文末附gpt升级秘笈】Suno全新功能在音乐创作领域的应用与影响

Suno全新功能在音乐创作领域的应用与影响 摘要&#xff1a; 随着科技的飞速发展&#xff0c;人工智能与音乐创作的结合日益紧密。本文旨在探讨Suno全新功能——即兴哼唱创作与声音模仿——在音乐创作领域的应用与影响。通过深入分析这一技术的原理、特点及其在音乐创作中的实际…

nvm for wins下载地方

https://github.com/coreybutler/nvm-windows

十大排序算法之->快速排序

一、快速排序简介 快速排序&#xff08;Quick Sort&#xff09;是一种高效的排序算法&#xff0c;它的基本思想是采用分治法来实现排序。 快速排序的工作原理基于分治的思想。首先选取一个基准元素&#xff0c;通常选择第一个或最后一个元素。然后重新排列数组中的元素&#…

什么是低代码?有什么特点?

低代码是一种高效的软件开发方法&#xff0c;它允许开发者通过图形化界面和预构建的代码块&#xff0c;以最小化传统手写代码的方式快速构建应用程序。这种方法旨在加速应用程序的开发周期&#xff0c;同时降低技术门槛和成本。以下是根据驰骋低代码设计者的观念与主张&#xf…

单个反光柱作为landmark,因输入角度异常导致ceres后端崩溃

landmark默认是有方向的,所以作者在ceres优化中考虑到了角度信息,但是单个反光柱作为路标是没有准确的角度信息的,所以只能优化位置信息,修改代码如下: template <typename T>bool operator()(const T* const prev_node_pose, const T* const next_node_pose,const …

从零入手人工智能(1)——卷积神经网络

1.前言 本人作为一名单片机工程师&#xff0c;近期对人工智能领域产生了浓厚的兴趣&#xff0c;并开始了我的探索之旅。人工智能是一个博大精深的领域&#xff0c;我相信有许多志同道合的朋友也希望涉足这个领域&#xff0c;因此我写下这篇文章&#xff0c;旨在详细记录我学习…

操作系统微助教题库(组卷)

概论 1. 操作系统是对 ( ) 进行管理的软件 A. 软件 B. 硬件 C. 计算机资源 D. 应用程序 2. 从用户的观点看&#xff0c;操作系统是&#xff08; &#xff09; A. 用户与计算机之间的接口 B. 控制和管理计算机资源的软件 C. 合理的组织计算机工作流程的软件 D. 由若干…

Java:流程控制语句

文章目录 一、顺序结构二、分支结构2.1 if2.2 switch 三、循环结构3.1 for3.2 while3.3 do...while 四、流程控制4.1 break4.2 continue 五、结语 一、顺序结构 顺序结构语句是Java程序默认的执行流程&#xff0c;按照代码的先后顺序&#xff0c;从上到下依次执行。 二、分支结…

雷士大路灯有必要买吗?雷士、书客、孩视宝护眼落地灯实测PK!

面对市面上众多的护眼大路灯品牌&#xff0c;其中雷士、书客和孩视宝这几款大路灯受到了广泛的青睐&#xff0c;也是热度比较高的几款产品&#xff0c;正是因为这么多款大路灯&#xff0c;很多伙伴在看到文章推荐后很纠结&#xff0c;不知道如何选择&#xff0c;也有一部分伙伴…

TH方程学习 (7)

一、内容介绍 TH存在广泛应用&#xff0c;在下面案例中&#xff0c;将介绍几种相对运动模型&#xff0c;斜滑接近模型&#xff0c;本节学习斜滑接近制导方法能够对接近时间、接近方向以及自主接近过程的相对速度进行控制。施加脉冲时刻追踪器的位置连线可构成一条直线&#xf…

自动装车系统车辆定位-激光雷达解决方案

在自动装车系统中&#xff0c;激光雷达为车辆定位提供了一种高效且精确的解决方案。以下是关于这一解决方案的详细分析&#xff1a; 一、解决方案概述 激光雷达解决方案在自动装车系统中&#xff0c;通过发射激光束并接收目标反射回来的信号&#xff0c;来探测车辆的位置、状…

Win10下CodeBlock实现socket TCP server/client

文章目录 1 安装codeblock2 适配libws2_32.a库3 TCP socket工作原理4 代码实现服务端客户端5 运行效果1 安装codeblock 官方免费下载 值得一提的是,安装时,指定安装路径,其他默认安装即可 2 适配libws2_32.a库 默认安装,只有3个库,如果编译socket,需要专门的库libws2…

前端小程序面试真题

1. 简单描述下微信小程序的相关文件类型 微信小程序项目结构主要有四个文件类型 WXML&#xff08;WeiXin Markup Language&#xff09;是框架设计的一套标签语言&#xff0c;结合基础组件、事件系统&#xff0c;可以构建出页面的结构。内部主要是微信自己定义的一套组件WXSS …

CA到TA的调用流程是什么?如何实现的?

快速链接: . &#x1f449;&#x1f449;&#x1f449;Trustzone/TEE/安全 面试100问-目录 &#x1f448;&#x1f448;&#x1f448; 付费专栏-付费课程 【购买须知】:联系方式-加入交流群 ----联系方式-加入交流群 个人博客笔记导读目录(全部) 简单一点来说&#xff0c;CA…

【机器学习基础】Python编程02:五个实用练习题的解析与总结

Python是一种广泛使用的高级编程语言,它在机器学习领域中的重要性主要体现在以下几个方面: 简洁易学:Python语法简洁清晰,易于学习,使得初学者能够快速上手机器学习项目。 丰富的库支持:Python拥有大量的机器学习库,如scikit-learn、TensorFlow、Keras和PyTorch等,这些…

微信小程序能唤起APP吗?封装唤起APP组件

微信小程序能唤起APP吗&#xff1f;首先回答&#xff1a;可以的&#xff0c;但是受限使用场景。 实现方式 微信没有提供API&#xff0c;通过button中open-type设置为launchApp来实现跳转APP。 它可以传递的参数&#xff1a; 可以通过app-parameter属性设定向APP传的参数&…

SolidWorks价格与其它CAD软件相比:为什么选择SolidWorks更划算

在CAD软件的浩瀚星海中&#xff0c;SolidWorks如同一颗璀璨的明星&#xff0c;以其卓越的性能、广泛的适用性和合理的定价策略&#xff0c;赢得了全球众多工程师和设计师的青睐。亿达四方&#xff0c;作为官方授权的SolidWorks代理商&#xff0c;今天将带您深入价格与功能的比较…

银河麒麟安装nginx

参考&#xff1a; https://zhuanlan.zhihu.com/p/699896814 yum install nginx systemctl start nginx firewall-cmd --permanent --zonepublic --add-servicehttp firewall-cmd --permanent --zonepublic --add-servicehttps sudo firewall-cmd --reload systemctl enable n…