首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
给定一字符串,该字符串中存在若干对相同的字符,设计一个在时间和空间上尽可能高效的算法,找出一对相同字符在该字符串中的最大距离。例如:“KLabcLdecL”,其中第一个“L”和最后一个“L”相距最远,它们在原字符串中的位置相差8,要求: 根据设计思想,采
给定一字符串,该字符串中存在若干对相同的字符,设计一个在时间和空间上尽可能高效的算法,找出一对相同字符在该字符串中的最大距离。例如:“KLabcLdecL”,其中第一个“L”和最后一个“L”相距最远,它们在原字符串中的位置相差8,要求: 根据设计思想,采
admin
2017-04-28
53
问题
给定一字符串,该字符串中存在若干对相同的字符,设计一个在时间和空间上尽可能高效的算法,找出一对相同字符在该字符串中的最大距离。例如:“KLabcLdecL”,其中第一个“L”和最后一个“L”相距最远,它们在原字符串中的位置相差8,要求:
根据设计思想,采用C、C++或Java语言描述算法,关键之处给出注释。
选项
答案
算法实现如下: typedef struct element //定义字符的访问标记和位置信息 { bool is access; //表示该字符是否被访问过 int position; //记录下该字符第一次出现的位置 }array[128]; //字符的ASCⅡ值范围为0~127 int get_max len(char str[],int n) //n为字符数组的长度 { int max=0; //初始化相同字符间的最大距离 int i=0; while (i<n) { if(array[str[i]j.is access==false) //如果该字符第一次出现 { array[str[i]].position=i; //记下第一次出现的位置 array[str[i]].is_access=true; //置标记信息为已访问 } else //该字符不是第一次出现 { 1f(i—array[str[i]].position>=max) //两字符距离比当前最大值大 { max=i—array[str[i]].position; //更新最大值 } } i++; } return max; }
解析
转载请注明原文地址:https://kaotiyun.com/show/8XRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
简述王安石变法的背景、主要内容及其实质意义。
试比较南斯拉夫、苏联、匈牙利的经济发展模式。
()是我国最早的一部编年体历史著作,以鲁国的历史为主,简要记载了从鲁隐公元年至鲁哀公十四年(前722~前481)间二百四十二年的重要史事。
与前两次工业革命相比,第三次科技革命在能源结构上的主要变化是()
巴黎和会召开的时间是()。
罗马帝国疆域扩张到顶点是在()统治时期。
16世纪中期,德意志资产阶级迫切要求实现国家的统一,其首要的目的是()。
设有一个带头结点的循环单链表,其结点值均为正整数。试设计一个算法,反复找出单链表中结点值最小的结点,并输出之,然后将该结点从中删除,直到单链表空为止,最后再删除表头结点。
已知一个带有表头结点的单链表,结点结构为:假设该链表只给出了头指针list。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数)。若查找成功,算法输出该结点的data域的值,并返回1;否则,只返回0。要求:
随机试题
手机对于()相当于电影对于()
下列哪项红细胞平均血红蛋白浓度升高
甲杀人后将凶器忘在现场,打电话告诉乙真相,请乙帮助扔掉凶器。乙随即把凶器藏在自家地窖里。数月后,甲生活无着落准备投案自首时,乙向甲汇款2万元,使其继续在外生活。关于本案,下列哪一选项是正确的?(2015年卷二20题)
施工过程中,如果承包人提出要求使用专利技术及特殊工艺,经工程师批准后,应由( )。
建筑电梯设备安全运行的技术装置有()。
我国银行业监管的目标是促进银行业合法、稳健运行和()。
下列关于流动资产融资策略的表述中,正确的是()。
单位有两个技术攻关小组,近期要完成一次技术攻关任务,由于你提出了合理化建议,得到了领导的认可。领导决定将这项任务交由你们小组来完成,但小组内的同事觉得你多管闲事,另一个小组也不配合,请问你该怎么办?
Itisestimatedthataround10percentoftheflatroofsinGermanyaregreen.Germanpeoplepreferextensivegreenroofsystem
Wheredidmostofthe“pilgrims”thespeakermetcomefrom?
最新回复
(
0
)