首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
给定一字符串,该字符串中存在若干对相同的字符,设计一个在时间和空间上尽可能高效的算法,找出一对相同字符在该字符串中的最大距离。例如:“KLabcLdecL”,其中第一个“L”和最后一个“L”相距最远,它们在原字符串中的位置相差8,要求: 根据设计思想,采
给定一字符串,该字符串中存在若干对相同的字符,设计一个在时间和空间上尽可能高效的算法,找出一对相同字符在该字符串中的最大距离。例如:“KLabcLdecL”,其中第一个“L”和最后一个“L”相距最远,它们在原字符串中的位置相差8,要求: 根据设计思想,采
admin
2017-04-28
100
问题
给定一字符串,该字符串中存在若干对相同的字符,设计一个在时间和空间上尽可能高效的算法,找出一对相同字符在该字符串中的最大距离。例如:“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
学硕统考专业
相关试题推荐
论述中国封建社会中后期赋税制度变迁的主要内容。
元朝各行政区的行政机构称为()。()有指挥军事活动的权力,遇有征伐则设置()。
提出电磁感应定律的是物理学家()。
美国主张建立国际联盟的主要目的是()。
联共(布)“十五大”规定在农村的根本任务的实质是()。
隋朝大运河中哪一段河道的地理位置最接近于春秋时期即已开通过的运河()?
设计一个算法,求无向图G(采用邻接表存储)的连通分量个数。
图的D搜索类似于BFS,不同之处在于使用栈代替BFS中的队列,入/出队列的操作作为入/出栈的操作,即当一个顶点的所有邻接结点被搜索后,下一个搜索出发点应该是最近入栈(栈顶)的顶点。(1)用邻接表作为存储结构,写一个D搜索算法;(2)用D搜索方法
对图B-2进行拓扑排序,可以得到不同的拓扑序列的个数是____。
已知一个带有表头结点的单链表,结点结构为(data,next),假设该链表只给出了头指针L,请设计一个时间和空间上尽可能高效的算法,将单链表中值重复的结点删除,使所得的结果表中各结点值均不相同。根据设计思想,采用C或C++或Java语言描述算法,关键之
随机试题
DaveBrubeckandHisJazz"TakeFive",thesmokyinstrumentalbytheDaveBrubeckQuartet,wasa【C1】________(music)milesto
宫颈癌根治术后留置导尿管的时间是术后
A.黏液瘤B.假性室壁瘤C.左室血栓D.心肌点状坏死E.左房血栓边界清楚的活动性团块,通常有蒂附着于房间隔附近
汉中后期为了限制相权特别赋予尚书以司法审判权,其下设()掌断狱。
《宪法》规定了全国人大成立调查委员会的条件和程序。对此,下列说法中错误的是:()
微分方程y’’-4y=4的通解是()(c1,c2为任意常数)。
对于无组织排放的有害气体,为保护环境和人体健康,在无组织排放源所在的生产单元和( )之间设有卫生防护距离。
个人住房贷款的贷前调查人应该至少直接与借款申请人(包括共同申请人)面谈()次。
下列()不是新建物业承接查验的计划准备。
()在20世纪初就提出就业之前必须经过心理测验的建议。
最新回复
(
0
)