yabzhang

Results 13 comments of yabzhang

题目:找出一个字符串中最长的连续子串,输出这个子串的长度,要求:这个子串中没有重复的字符。 那么重点就在"没有重复字符"。 最简单的思路就是暴力遍历法,并在遍历的同时统计长度,找到重复字符就停止。最后给出最大的长度。 进一步优化的,可以使用hash表记录下来每个元素出现的索引值; 使用hash表记录,并在每次发现重复元素重新开始统计时,并从重复元素第一次出现的下一位继续算法; 进一步优化,重用建立的hash记录,每次发现重复元素时进行更新; 具体的思路就是用最新出现的元素索引覆盖之前出现的,并对当前的长度进行更新; 这样可以保证时间复杂度最坏:O(n),空间复杂度为:O(n) 代码如下: ``` Python def resolve(seq): stat = {} index = 0 max_len, tmp_len = 0, 0 while(index < len(seq)): if seq[index] not...

``` Python def is_match(string, pattern): """ 1. `.`匹配任何单字;2. `*`匹配0个或多个字符; """ if not string and not pattern: return True # `*` match blank string if not string and not pattern.replace('*', ''):...

``` Python def resolve(seq): """ longest common prefix """ if not seq: return '' result = list(seq[0]) for item in seq: if len(item) < len(result): result = result[:len(item)] for i...