Leetcode: Word Break
来源:互联网 发布:古道社区网络黑市 编辑:程序博客网 时间:2024/05/16 08:51
Word Break
Given a string s and a dictionary of words dict, determine if s can be segmented into a space-separated sequence of one or more dictionary words.
For example, given
s = “leetcode”,
dict = [“leet”, “code”].Return true because “leetcode” can be segmented as “leet code”.
It’s just a DP problem, code shows blow:
__author__ = 'phycept'class Solution: def wordBreak(self, s, wordDict): contain = [False] * len(s) i = -1 while i < len(s): i += 1 for j in range(i+1,len(s) + 1): if wordDict.__contains__(s[i:j]): contain[j - 1] = True while i < len(s) and not contain[i]: i += 1 return contain[-1]
Word Break II
Given a string s and a dictionary of words dict, add spaces in s to construct a sentence where each word is a valid dictionary word.
Return all such possible sentences.
For example, given
s = “catsanddog”,
dict = [“cat”, “cats”, “and”, “sand”, “dog”].A solution is [“cats and dog”, “cat sand dog”].
Nearly it’s same as the first one, just add a place to remember the break point, I choose a array of list based on the first problem, code shows below:
__author__ = 'phycept'class Solution: def wordBreak(self, s, wordDict): contain = [[] for i in range(len(s))] i = -1 while i < len(s): i += 1 for j in range(i+1,len(s) + 1): if wordDict.__contains__(s[i:j]): contain[j - 1].append(i) while i < len(s) and not contain[i]: i += 1 sentence = [] for b in range(len(contain[-1])): sentence += print_word(contain, contain[-1][b], len(s)+1, s) return sentencedef print_word(contain, i, j,s): ed = '' if j != len(contain)+1: ed = ' ' if not i: return [s[i:j] + ed] lst = [] for b in range(len(contain[i - 1])): pre = print_word(contain, contain[i-1][b], i, s) for a in range(len(pre)): lst.append(pre[a] + s[i:j]+ed) return lst
- leetcode Word Break & Word Break ||
- Leetcode: Word Break
- [leetcode]Word Break
- [leetcode]Word Break II
- LeetCode:Word Break
- LeetCode:Word Break II
- Leetcode: Word Break II
- [LeetCode] Word Break
- [LeetCode] Word Break II
- LeetCode: Word Break
- leetcode之Word Break
- [LeetCode]Word Break II
- [LeetCode]Word Break
- leetcode-Word Break
- LeetCode 之 Word Break
- leetcode word break
- LeetCode | Word Break
- LeetCode | Word Break II
- 逃离大厦第80关与马踏棋盘
- 服务俄国人后天
- 说过的话认同几
- 网页客户端存储的方式(一)------- localStorage 和 SessionStorage的区别和使用
- 我对“硬盘分区”的愚见
- Leetcode: Word Break
- 关于Visual Studio 中添加/引用代码后不被编译的问题
- 通用cocos lua scroll list view 框架进行中。。。
- 蚌埠市公安局启动再侦程序。2013年11月27日,武钦元被警方控制
- 更改cpuID(CPU序列号)指南
- 收藏的关于算法博客链接(刷题)
- 我收藏的一些关于程序员的博客链接
- 【Android】莫名其妙的错误
- 计算机学生的未来