判断给定的一个字符串能否被拆成字典里的词。
一开始不知道怎么想的,试图用二分加递归做,然后就LTE了……然后发现自己实在是蛋疼,长字符串拆去单词后的部分根本没必要和词典做对比,完全是受了例子的误导。
然后接下来就容易多了,代码是这样的:
class Solution:
# @param s, a string
# @param wordDict, a set
# @return a boolean
def wordBreak(self, s, wordDict):
if not s or not wordDict:
return False
flags = [False for i in range(len(s) + 1)]
flags[0] = True
for s_len in range(1, len(s) + 1):
for i in range(s_len):
if flags[i] and s[i:s_len] in wordDict:
flags[s_len] = True
return flags[len(s)]
当然,漏了flags[0] = True这句导致失败好几次我是不会随便乱说的……
没有评论:
发表评论