leetcode1032

 1 class StreamChecker:
 2     def __init__(self, words: 'List[str]'):
 3         self.maxLen = 0
 4         self.List = set(words)
 5         for w in self.List:
 6             self.maxLen = max(self.maxLen,len(w))
 7         self.STR = ''
 8 
 9     def query(self, letter: str) -> bool:
10 
11         if letter in self.List:
12             return True
13         else:
14             self.STR += letter
15             
16             clen = len(self.STR)
17             if clen > self.maxLen:
18                 self.STR = self.STR[1:]
19             
20             for w in self.List:
21                 lw = len(w)
22                 ls = len(self.STR)
23                 if ls >= lw and w == self.STR[ls-lw:]:
24                     return True
25             return False

此解决方案超时,提示使用Trie。

猜你喜欢

转载自www.cnblogs.com/asenyang/p/10745020.html
今日推荐