【算法】Hash存储——开放寻址法

模拟散列表

维护一个集合,支持如下几种操作:

I x,插入一个整数 x;
Q x,询问整数 x是否在集合中出现过;
现在要进行 N次操作,对于每个询问操作输出对应的结果。

输入格式
第一行包含整数 N,表示操作数量。

接下来 N行,每行包含一个操作指令,操作指令为 I x,Q x 中的一种。

输出格式
对于每个询问指令 Q x,输出一个询问结果,如果 x 在集合中出现过,则输出 Yes,否则输出 No。

每个结果占一行。

存储过程

存储方式:
// 防止出现复数情况
id = (x%N+N)%N
若q[id]!=null & q[id]!=x
id ++
若 id == N
id = 0
在这里插入图片描述

代码实现

#include <iostream>
#include <cstring>using namespace std;const int N  = 3e5 + 3;
const int null =  0x3f3f3f3f;
int q[N];int Insert(int x){int u =(x%N + N)%N;while(q[u]!=null && q[u]!=x){u++;if(u==N){u=0;}}return u;}int main(){int n;cin>>n;memset(q, 0x3f3f3f3f, sizeof q);  string op;int x;while(n--){cin>>op>>x;if(op[0]=='I'){q[Insert(x)] = x;}else{if(q[Insert(x)]!=null){cout<<"Yes"<<endl;}else{cout<<"No"<<endl;}}}}

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

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

相关文章

查询IP地址保障电商平台安全

随着电子商务的快速发展&#xff0c;网购已经成为人们日常生活中不可或缺的一部分。然而&#xff0c;网络交易安全一直是人们关注的焦点之一&#xff0c;尤其是在面对日益频发的网络诈骗和欺诈行为时。为了提高网购平台交易的安全性&#xff0c;一种有效的方法是通过查询IP地址…

Python画图

Python中有多个库可以用于绘图&#xff0c;其中比较常用的有matplotlib、seaborn、plotly和bokeh等。这些库提供了丰富的绘图功能和自定义选项&#xff0c;可以帮助你创建各种类型的图表&#xff0c;包括线图、散点图、柱状图、饼图、热力图等。 下面是一个使用matplotlib库创…

ctfshow-XXE(web373-web378)

目录 XXE&#xff08;外部实体注入攻击&#xff09; web373 web374 web375 web376 web377 web378 知识点 XXE&#xff08;外部实体注入攻击&#xff09; XXE这几关有个前提flag在根目录下文件名为flag web373 <?php error_reporting(0); libxml_disable_entity_…

stable diffusion的额外信息融入方式

conditioning怎么往sd中添加&#xff0c;一般有三种&#xff0c;一种是直接和latent拼一下&#xff0c;另外很多是在unet结构Spatialtransformers上加&#xff0c;和文本特征一样&#xff0c;通过cross-attention往unet上加&#xff0c;这里还需要注意一点&#xff0c;在文本嵌…

大语言模型可信性浅谈

大语言模型可信性的研究 摘要&#xff1a; 随着人工智能技术的快速发展&#xff0c;大语言模型在自然语言处理领域的应用越来越广泛。然而&#xff0c;大语言模型的可信性一直是人们关注的焦点。本文将从多个维度探讨大语言模型的可信性问题&#xff0c;包括模型性能、数据质量…

调整分区失败,硬盘难启:原因分析与数据恢复之道

在数字化时代&#xff0c;硬盘作为存储数据的重要工具&#xff0c;其稳定性和安全性至关重要。然而&#xff0c;有时在调整分区的过程中&#xff0c;我们可能会遭遇失败&#xff0c;导致硬盘无法打开&#xff0c;数据无法访问。这种情况不仅令人沮丧&#xff0c;更可能带来不可…

基于springboot+layui仓库管理系统设计和实现

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

不要在代码中随便使用try...catch了

前言 &#x1f4eb; 大家好&#xff0c;我是南木元元&#xff0c;热爱技术和分享&#xff0c;欢迎大家交流&#xff0c;一起学习进步&#xff01; &#x1f345; 个人主页&#xff1a;南木元元 目录 背景 js中的try...catch try...catch运行机制 js的事件循环机制 try...c…

grpc的验证器

简介 在使用grpc库时候 ,很多时候我们需要对反序列化的参数进行校验,代码中有很多参数校验的代码&#xff0c;如果手动实现&#xff0c;会非常繁琐&#xff0c;对于grpc来说&#xff0c;在定义proto的时候使用直接定义参数的限制规则是一种更合理、更优雅的方式&#xff0c;插…

人工智能迷惑行为大赏

近年来&#xff0c;随着人工智能技术的不断发展和应用&#xff0c;我们在日常生活中越来越多地接触到各种智能设备和程序。然而&#xff0c;随之而来的是一些令人瞠目结舌的人工智能迷惑行为&#xff0c;让人们对这一新兴技术产生了更多的好奇和思考。 在人工智能迷惑行为大赏…

「2024」不再内卷,让AI低代码带你玩点新花样!

这一次&#xff0c;OpenAI的不败传奇终于被撼动。 其强劲对手Anthropic于北京时间&#xff08;2024年3月4日&#xff09;震撼发布新一代AI大模型系列——Claude 3。 根据官方性能测试数据的展示&#xff0c;Claude 3系列模型在各项表现上均超越GPT-4&#xff0c;荣登全球最强…

基于yolov7与arduino的眼睛跟随模块

基于yolov7与arduino的眼睛跟随模块 整个模块的介绍摄像模块图片传输模块图像检测模块控制模块动力模块 整个模块的介绍 我们首先需要一个图片收集的模块来对当前的图片进行收集然后将图片传至服务端对图片中的眼睛利用YOLO进行检测最后将数据传至arduino使其控制动力模块来进…

小额投资者如何投资黄金?

天下熙熙&#xff0c;皆为利来。近来&#xff0c;无论是黄金还是英伟达&#xff0c;各有各的火爆&#xff0c;这引起了广泛新手投资者的关注&#xff0c;许多小白玩家也跃跃欲试。事实上&#xff0c;并非入场越久越可被称为成熟的投资者&#xff0c;投资并不限定于特定的资金规…

导出谷歌浏览器收藏的网页,并查看网页保存的登录密码

导出谷歌浏览器&#xff08;Chrome&#xff09;收藏的网页&#xff08;书签&#xff09;&#xff1a; 打开谷歌浏览器。在浏览器右上角找到并点击三个垂直排列的小点&#xff08;或称汉堡菜单&#xff09;以打开主菜单。在下拉菜单中选择“书签” > “书签管理器”。在书签…

ms office学习记录9:Excel㈢

懒癌犯了拖了好几天的学习进度&#xff0c;下决心暂别娱乐&#xff0c;还是先把两门计算机二级过完&#xff01;把该做的做到位了&#xff0c;剩下的考完再说。 以下为今日excel知识点总结&#xff1a; 条件格式的本质&#xff1a;把符合条件的信息设置特殊格式突出显示 双击…

不被折叠的朋友圈这样发

现在朋友圈折叠有两种&#xff1a;第一种是文案折叠&#xff0c;第二种是整条折叠。 说下现象、原因和解决办法。 01 文案折叠 现象&#xff1a;只有文字被折叠成一行&#xff0c;图片视频还能看到&#xff0c;其它内容看不到。 折叠原因&#xff1a;发布的内容在自己朋友圈…

Oracle数据恢复—Oracle被误删表不要慌!掌握如何恢复Oracle表!

Oracle数据库数据恢复环境&#xff1a; 北京某国企客户Oracle 11g R2数据库误truncate table CM_CHECK_ITEM_HIS&#xff0c;表数据丢失&#xff0c;业务查询到该表时报错&#xff0c;数据库的备份不可用&#xff0c;无法查询表数据。 Oracle数据库执行Truncate命令的原理&am…

快上车:人工智能的分类;机器学习的几种方式;神经网络神奇在哪里?

摘要&#xff1a; 本文深入探讨了人工智能的分类、机器学习的几种方式以及神经网络的神奇之处&#xff0c;为读者提供了丰富的技术知识和实践经验。 阅读时长&#xff1a;约60分钟 关键词&#xff1a;人工智能, 机器学习, 神经网络 引言 背景介绍 随着计算机技术的飞速发展…

SSM整合项目(使用Vue3 + Element-Plus创建项目基础页面)

1.配置Vue启动端口 1.修改vue.config.js const {defineConfig} require(vue/cli-service) module.exports defineConfig({transpileDependencies: true }) module.exports {devServer: {port: 9999 //启动端口} }2.启动 2.安装Element Plus 命令行输入 npm install eleme…

微信小程序购物/超市/餐饮/酒店商城开发搭建过程和需求

1. 商城开发的基本框架 a. 用户界面&#xff08;Frontend&#xff09; 页面设计&#xff1a;包括首页、商品列表、商品详情、购物车、下单界面、用户中心等。交云设计&#xff1a;如何让用户操作更加流畅&#xff0c;包括搜索、筛选、排序等功能的实现。响应式设计&#xff1…