[LeetCode]Word Break

来源:互联网 发布:bp神经网络数据归一化 编辑:程序博客网 时间:2024/06/05 09:47

利用动态规划的思想,记录从0到当前字符,可否被拆成字串,在dic中都可以查到。建立一个大小为n的bool数组res,用来记录。


从s的第一个字符开始扫描,如果从0到当前第i个字符产生的字串直接能在dic中查到,那么res[i]为True。

否则res[i]:

for(int j = 0; j < i; j++){if(res[j]){string an = sub.substr(j+1, i-j+1);if(dict.find(an)!=dict.end())res[i] = true;}}

最后返回整个s的最终结果就可以了。


最差的情况下,算法为O(n2), 最佳为O(n)。

0 0