请问一下,怎么在PTA里面在限定的时间内得出高效查重的代码呢?
关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率

已结题
C语言怎么在PTA里面高效查重?
请问一下,怎么在PTA里面在限定的时间内得出高效查重的代码呢?
收起
- 写回答
- 好问题 0 提建议
- 关注问题
微信扫一扫
点击复制链接分享
- 邀请回答
- 编辑 收藏 删除
- 收藏 举报
3条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
CodeBytes 2023-02-26 12:20关注该回答引用ChatGPT
在PTA上高效查重的关键在于使用合适的数据结构和算法来快速判断两个字符串是否相等。以下是一些可能有用的技巧:
1、哈希表:使用哈希表可以将字符串转化为整数,从而实现快速查找。将每个字符串的哈希值存储到哈希表中,可以在O(1)时间内查找是否存在相同的哈希值,从而判断是否有重复字符串。需要注意的是,哈希表中可能会存在哈希冲突,需要解决冲突的方法,如链表或开放寻址等。
2、排序:将字符串按字典序排序,然后逐个比较相邻的字符串是否相等。如果有重复的字符串,它们必定相邻,因此这种方法可以找出所有重复的字符串。时间复杂度为O(nlogn),其中n为字符串的数量。
3、Trie树:将所有字符串插入到Trie树中,然后查询每个字符串是否已存在于Trie树中。Trie树可以在O(k)的时间内查询一个字符串,其中k是字符串的长度。因此,这种方法的时间复杂度为O(nk),其中n为字符串的数量。
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 1无用举报微信扫一扫
点击复制链接分享
编辑预览轻敲空格完成输入- 显示为
- 卡片
- 标题
- 链接
评论按下Enter换行,Ctrl+Enter发表内容
编辑
预览

轻敲空格完成输入
- 显示为
- 卡片
- 标题
- 链接
报告相同问题?
提交
- 2021-05-31 03:54回答 4 已采纳 #include<stdio.h> int main() { int num, a[10], i, k=0,sum=0; printf("请输入一个正整数:");
- 2022-09-14 02:44回答 7 已采纳 C语言学习需要数学基础,但没有数学基础也可以学习,只是稍微有些难度。基础的C语言对数学要求不是很高,但是要想精通达到很高,数学底子就要好点。因为数学好了,算法就简单,程序也会简单高效很多。其实C语
- 2022-10-09 08:55回答 3 已采纳 21世纪是20xx年,你这个小于3000年判断,有问题,应该是小于2100.估计系统测试是输入一个大于2100年的数字,应该输出Invalid year,你这边正常输出结果了。
- 2022-12-06 05:29自陈的博客 在一大堆数据中找出重复的是一件经常要做的事情。现在,我们要处理许多整数,在这些整数中,可能存在重复的数据。 你要写一个程序来做这件事情,读入数据,检查是否有重复的数据。如果有,去掉所有重复的数字。最后...
- 2021-09-19 12:06回答 4 已采纳 c语言是区分大小写的 比如 good Good GOOD 是三个不同的变量
- 2019-06-17 14:36回答 1 已采纳 大学里面能用什么,主要3个版本,TurboC,VC++6.0,VC++2010 TurboC是谭浩强的图书推荐的版本,虽然谭浩强也转到VC++6.0这一先进的平台了。但是不少老师还没有转。 实际上
- 2022-11-03 02:35回答 2 已采纳 修改如下,供参考: #include<stdio.h> int main() { char ch; int i, letter = 0, dight = 0, blank
- 2024-10-01 01:59MarkfuGod的博客 首先,我们利用循环思想,实现菜单的功能,使用时进入相应操作界面,不需要时可以退回主界面,因为在一个循环中,当想退出相应功能时候,只需退出相应模块的循环,退回到主循环即可。[3]. 输出的菜单界面,采用不同...
- 2021-12-05 09:47回答 4 已采纳 这是你手机和电脑上用的编译器不一样,最好是手机和电脑上用一样的编译器,运行结果就一样了,其实只要你的代码遵循标准,那结果也是一样的。标准之外的未定义行为,用不同的编译器编译,运行结果可能不一样;比如你
- 2021-08-22 06:31回答 2 已采纳 else if(delta = 0)改为else if(delta == 0)
- 2022-03-17 14:19回答 2 已采纳 假设全小写。char ch[26];char *str="xx";然后挨个字符进行 ch[(*str)-'a']++最后输出这个数组里最大值。
- 2020-12-19 15:56师傅ao的博客 为了应付一下可怕未知的数据结构机试,本人想练习一下编程,于是打开学校OJ,从头开始练习,拿这道链表去重练手,但也做了好长时间(泪)。虽然困难重重,但最后还是独立将题目实现,有一丢成就感,于是也想写一篇...
- 2021-07-05 14:38休二的博客 (10 分) 6-7 利用指针找最大值 (10 分) 6-8 求最大值最小值 (10 分) 6-9 数组的最小最大值移位 (10 分) 6-10 求方阵和 (10 分) 6-13 高效查重 (10 分) 6-14 摘桃几何 (10 分) 6-15 有序数组唯一化 (10 分) 6-16 ...
- 2021-10-20 07:03计科2班罗斯格的博客 这个作业要求在哪里 https://bbs.csdn.net/topics/602023652 这个作业的目标 <> 学号 <20218546> 罗斯格的第二次作业1.PTA作业2.学习总结 1.PTA作业 1.1(): 1.1.1 代码图片 1.1.2 数据处理 数据...
- 2021-03-09 08:35长路漫漫2021的博客 1 在线学习 1.1 网课学习 网易公开课 链接:...query=programming 4.2 必备教程 菜鸟教程 链接:https://www.runoob.com/ C语言中文网 链接:http://c.biancheng.net/sitemap/ 计算机编程类中文书籍 链接:...
- 没有解决我的问题, 去提问
问题事件
联系我们(工作时间:8:30-22:00)
400-660-0108kefu@csdn.net在线客服
- 京ICP备19004658号
- 经营性网站备案信息
公安备案号11010502030143
- 营业执照
- 北京互联网违法和不良信息举报中心
- 家长监护
- 中国互联网举报中心
- 网络110报警服务
- Chrome商店下载
- 账号管理规范
- 版权与免责声明
- 版权申诉
- 出版物许可证
- ©1999-2025北京创新乐知网络技术有限公司