摘要: 1.题目:输入一个字符串,要求找出字符串中最大子串的长度(如字符串abcd13agbf,当重复出现某个字符时,算一个子串,比如abcd13a或bcd13agb都是子串)。理解:要是每个字符都不一样,则最大子串长度为0思想:用空间换取时间,用一个数组lastPos[256]代表着256个可能的字符(ASC2码),而数组的值代表字符串中这个字符的最后出现位置,初始数组元素都为负数,然后每次取字符串中的一个字符,此字符的ASC2码为c,若lastPos[c]=0,则表示此字符已经出现过,则可以计算这个子串的长度,若比之前的最大子串长,则更新最大子串长度。分析:时间复杂度为o(n)遍历一次即可int 阅读全文
posted @ 2013-09-11 21:37 空城夕 阅读(1206) 评论(0) 推荐(0) 编辑