当前位置:网站首页>7-43 字符串关键字的散列映射 (25 分) 谜之测试点
7-43 字符串关键字的散列映射 (25 分) 谜之测试点
2022-08-02 02:56:00 【兄dei!】
原题:https://pintia.cn/problem-sets/15/problems/890
0 | sample 1 无冲突 | 答案正确 | 6 | 4 ms | 452 KB |
1 | sample 2 有冲突 | 答案正确 | 8 | 5 ms | 320 KB |
2 | 有重复关键字 | 答案正确 | 3 | 5 ms | 448 KB |
3 | 最大和最小字符串,以及不足3位的字符串 | 答案错误 | 0 | 5 ms | 324 KB |
4 | 最大N,随机 | 答案正确 | 5 | 6 ms | 324 KB |
整了半天,也调试了许多例子,愣是没发现哪里错了。。
暂且搁着,等有缘人相助。。
#include<iostream>
#include<string>
#include<math.h>
#include<map>
using namespace std;
map <string, int> mp;
int vis[1010];
int ch(char op) { return op - 'A'; }
int main()
{
int n, p;
cin >> n >> p;
string s;
for (int i = 0; i < n; i++)
{
cin >> s;
if (mp.count(s))//如果这个名字用过了
{
if (i > 0)cout << " ";
cout << mp[s];
continue;
}
int nums = 0;
int len = s.size()-1;
//这里明明处理了小于三位的字符串啊。怎么就是过不了
if (len == 0)nums = ch(s[0]);
else if (len == 1)nums = ch(s[0]) * 32 + ch(s[1]);
else nums = ch(s[len - 2]) * 32 * 32 + ch(s[len - 1]) * 32 + ch(s[len]);
nums = nums % p;
int I = nums, info = 1,t=1;
while (vis[I] == 1 )//当位置有人占着,平方探测法
{
I = (nums + info) % p;
info = -info;
if (info > 0)
{
t++;
info = t*t;
}
}
vis[I] = 1;
mp[s] = I;
if (i != 0)cout << " ";
cout << mp[s];
}
return 0;
}
边栏推荐
- 直击程序员面试现场:百度面试官都问了我些啥?
- 架构:微服务网关(SIA-Gateway)简介
- 第 304 场力扣周赛
- feign调用不通问题,JSON parse error Illegal character ((CTRL-CHAR, code 31)) only regular white space (r
- MySQL8.0.26安装配置教程(windows 64位)
- Nacos source code analysis topic (2) - service registration
- ASP WebShell 后门脚本与免杀
- 架构:应用架构的演进以及微服务架构的落地实践
- PHP WebShell 免杀
- Qt自定义控件和模板分享
猜你喜欢
“带薪划水”偷刷阿里老哥的面经宝典,三次挑战字节,终成正果
JSP Webshell free kill
01-Node-Express系统框架搭建(express-generator)
EasyGBS平台播放视频时偶尔出现播放失败是什么原因?
Istio微服务治理网格的全方面可视化监控(微服务架构展示、资源监控、流量监控、链路监控)
消息队列经典十连问
WebShell connection tools (Chinese kitchen knife, WeBaCoo, Weevely) use
MySQL index optimization in practice
analog IC layout
aws s3上传文件
随机推荐
【LeetCode】104. Maximum depth of binary tree
Flask之路由(app.route)详解
22-08-01 西安 尚医通(01)跨域配置、Swagger2、R类、统一异常处理和自定义异常、Logback日志
Chapter 11_Database Design Specifications
iVX低代码平台系列详解 -- 概述篇(二)
Nacos source code analysis topic (2) - service registration
数仓:数仓从ETL到ELT架构的转化以及俩者的区别
#{}和${}的区别
搭建zabbix监控及邮件报警(超详细教学)
ASP WebShell 后门脚本与免杀
MySQL8--Windows下使用msi(图形界面)安装的方法
pyqt上手体验
DVWA安装教程(懂你的不懂·详细)
JS中获取对象数据类型的键值对的键与值
OperatingSystemMXBean获取系统性能指标
【LeetCode】20.有效的括号
esp32经典蓝牙和单片机连接,,,手机蓝牙作为主机
svm.SVC应用实践1--乳腺癌检测
IPFS deployment and file upload (golang)
analog IC layout-Design for reliability