首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
给定一字符串,该字符串中存在若干对相同的字符,设计一个在时间和空间上尽可能高效的算法,找出一对相同字符在该字符串中的最大距离。例如:“KLabcLdecL”,其中第一个“L”和最后一个“L”相距最远,它们在原字符串中的位置相差8,要求: 根据设计思想,采
给定一字符串,该字符串中存在若干对相同的字符,设计一个在时间和空间上尽可能高效的算法,找出一对相同字符在该字符串中的最大距离。例如:“KLabcLdecL”,其中第一个“L”和最后一个“L”相距最远,它们在原字符串中的位置相差8,要求: 根据设计思想,采
admin
2017-04-28
64
问题
给定一字符串,该字符串中存在若干对相同的字符,设计一个在时间和空间上尽可能高效的算法,找出一对相同字符在该字符串中的最大距离。例如:“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
学硕统考专业
相关试题推荐
凯末尔世俗化改革的内容和意义。
结合诸条约内容简述中国社会沦为半殖民地半封建社会的过程。
简述罗马法学的发展情况。
最早测量子午线的长度,并主持修订了当时最先进历法《大衍历》的是僧人()。
下列关于塞尔维乌斯改革的叙述错误的是()。
斯大林模式的突出特点是()。
《马可波罗行纪》中载:“此汗八里大城之周围,约有城市二百,位置远近不等,每城皆有商人来此买卖货物,盖此城为商业繁荣之城也。”“此城”指的是()。
系统总结了6世纪以前黄河中下游地区农牧业生产经验的著作是()。
指令系统字长16位,每个地址码为6位,采用扩展操作码的方式,试设计14条二地址指令,100条一地址指令,100条零地址指令。(1)画出操作码的扩展形式。(2)下图为指令译码逻辑图,其中只给出了二地址指令的译码逻辑,试补全一地址指令和零地址指令的
已知一个带有表头结点的单链表,结点结构为(data,next),假设该链表只给出了头指针L,请设计一个时间和空间上尽可能高效的算法,将单链表中值重复的结点删除,使所得的结果表中各结点值均不相同。给出算法的基本设计思想。
随机试题
A.紫杉B.葛根C.陈皮D.麻黄E.满山红含橙皮苷的药材是
角度调制包括调频(FM)和___________。
颅底骨折并发脑脊液鼻漏、耳漏的早期处理正确的是
女性,11岁,经常头晕、眼花,心悸、气短,精力不集中,学习能力降低,身体抵抗力下降,经常患感染性疾病,采指尖血测定血红蛋白为100g/L。尚需进一步检测的指标是()。
某患者下颌骨前部肿物1年余,全口牙位曲面体层X线片显示下颌前部囊性病变。如需观察其颊舌向膨隆情况,应加照
已知某地形图的比例尺为1:500,则该图的比例尺精度为()。
下列关于木质脚手架材料的说法中,错误的是()。
(),简称CATI系统。
下列纳税人中,按规定可以领购使用增值税专用发票的是()。
在心理测验中,对于非典型群体需要制定()。
最新回复
(
0
)