首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
给定一字符串,该字符串中存在若干对相同的字符,设计一个在时间和空间上尽可能高效的算法,找出一对相同字符在该字符串中的最大距离。例如:“KLabcLdecL”,其中第一个“L”和最后一个“L”相距最远,它们在原字符串中的位置相差8,要求: 根据设计思想,采
给定一字符串,该字符串中存在若干对相同的字符,设计一个在时间和空间上尽可能高效的算法,找出一对相同字符在该字符串中的最大距离。例如:“KLabcLdecL”,其中第一个“L”和最后一个“L”相距最远,它们在原字符串中的位置相差8,要求: 根据设计思想,采
admin
2017-04-28
67
问题
给定一字符串,该字符串中存在若干对相同的字符,设计一个在时间和空间上尽可能高效的算法,找出一对相同字符在该字符串中的最大距离。例如:“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
学硕统考专业
相关试题推荐
荷马时代的社会管理制度和经济生活。
《四库全书》编成后,纪昀等又写成()200卷,把每本书的渊源、版本、内容都作了提纲性的介绍,是一部重要的目录学著作。
1946年5月,中共中央发布的实现“耕者有其田”政策的重要文件是()。
热月党人打击复辟活动,维护革命成果的著名战役是()。
埃及曾两次被波斯帝国征服,波斯第二次征服埃及的时间是()。
1920年,苏俄农民中流传着这样的说法:“土地属于我们,面包却属于你们;水属于我们,鱼却属于你们;森林属于我们,木材却属于你们”,它反映的是战时共产主义政策()。
1936年,德奥双方通过(),德国基本上控制了奥地利的内政和外交。
已知一个带有表头结点的单链表,结点结构为(data,next),假设该链表只给出了头指针L,请设计一个时间和空间上尽可能高效的算法,将单链表中值重复的结点删除,使所得的结果表中各结点值均不相同。说明你所设计算法的时间复杂度与空间复杂度。
已知一个带有表头结点的单链表,结点结构为:假设该链表只给出了头指针list。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数)。若查找成功,算法输出该结点的data域的值,并返回1;否则,只返回0。要求:
随机试题
加强公安队伍思想政治建设始终要把()放在首位。
下列哪些是法约尔确定的管理六项活动( )
A.主动一被动型B.指导一合作型C.共同参与型D.强制一被动型E.指导一参与型一个昏迷患者被送到医院,医生对他进行治疗,这种医患关系属于
当基坑开挖较深,降水深度>6m且场地狭窄时,可采用()法降水。
影响混凝土拌合物和易性的主要因素包括()。
债券信用评级行业在我国首次出现是在()。
以下关于权益类理财产品,说法正确的是()。
假如你是某班的班主任,开学初准备在班级举办为期一学期的阅读经典书籍活动,请设计该活动方案(至少包括题目、活动目的、活动主题、活动内容与过程、效果检验方法等)。要求:(1)自选一个学段(如小学、初中或高中);(2)设计目的明确、内容详实,活动具有可操作
从装满140克浓度为85%的盐水杯中倒出60克盐水后,再倒入清水将水杯装满并使之混合均匀。这样反复两次后,杯中盐水的浓度为:
以下关于BSP目标的描述Ⅰ.确定信息系统的优先顺序Ⅱ.基于企业组织机构采建设信息系统Ⅲ.提供数据处理资源的管理Ⅳ.增加信息系统高收效的实施Ⅴ.改善信息系统管理部门与用户间关系其中,正确的有哪个(些)?
最新回复
(
0
)