由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - leetcode的新题是1337c0d3r本人在更新吗?
相关主题
帮俺看一下代码DP+DFS为什么过不了work break II 那个大case : aaaaaaa...大家帮我看看这个程序哪里有问题啊!!
帮忙看道题:[leetcode] word breakfacebook的面试题
Groupon新鲜面经interleave string 的题目
leetcode word break II DFS 超时FB Phone Interview Failed by a simple question
请教leetcode上的那道Word Break II,多谢!perl Question 请教
word break 2的时间复杂度是多少 这个解法Leetcode Word Break I 有o(n^2)的算法吗?
贡献一道题Interleave Strings那个题目有O(n)时间 O(1)空间算法么?
wordBreak问题,有非递归的方法么Microsoft interview question
相关话题的讨论汇总
话题: string话题: boolean话题: true话题: result话题: solution
进入JobHunting版参与讨论
1 (共1页)
l*n
发帖数: 529
1
这就来了个流行的word break的题目,真是与时俱进啊。
z*********8
发帖数: 2070
2
我贡献的血汗题目啊。。。

【在 l*n 的大作中提到】
: 这就来了个流行的word break的题目,真是与时俱进啊。
y***n
发帖数: 1594
3
Is this a DP problem, I tried a recursive solution which exceeds time limit
bool wordBreak(string s, unordered_set &dict) {
if(s.length()==0) return true;
bool foundBreak=false;
for(const string& current: dict){
if(s.compare(0, current.size(),current)==0){//find current
foundBreak= wordBreak(s.substr(current.size()), dict);
if(foundBreak)
break;
}
}
return foundBreak;
}
l****o
发帖数: 315
4
public class Solution {
public boolean wordBreak(String s, Set dict) {
// Note: The Solution object is instantiated only once and is reused
by each test case.
boolean[] f = new boolean[s.length() + 1];
f[0] = true;
for (int i = 0; i <= s.length(); i++)
for (int j = 0; j < i; j++)
if (f[j] && dict.contains(s.substring(j, i))) {
f[i] = true;
break;
}
return f[s.length()];
}
}
y***n
发帖数: 1594
5
Nice.
T*******e
发帖数: 4928
6
哈,咱们思路差不多。
bool wordBreak(string s, unordered_set &dict) { //Time: O(n^2)
int sSize=s.size();
if(sSize<=0||dict.empty()) return false;
vector isWord(sSize+1, false);
isWord[0]=true;
for(int i=1; i<=sSize; ++i) {
for(int j=i-1; j>=0; --j) {
if(dict.find(s.substr(j, i-j))!=dict.end() &&isWord[j]) {
isWord[i]=true;
break;
}
}
}
return isWord[sSize];
}

reused

【在 l****o 的大作中提到】
: public class Solution {
: public boolean wordBreak(String s, Set dict) {
: // Note: The Solution object is instantiated only once and is reused
: by each test case.
: boolean[] f = new boolean[s.length() + 1];
: f[0] = true;
: for (int i = 0; i <= s.length(); i++)
: for (int j = 0; j < i; j++)
: if (f[j] && dict.contains(s.substring(j, i))) {
: f[i] = true;

b**m
发帖数: 1466
7
其实是前几天有人问那个(10)的简化版:
public class Solution {
public boolean wordBreak(String s, Set dict) {
if(s.length()==0){
return dict.contains(s);
}
boolean[] reachable = new boolean[s.length()+1];
reachable[0] = true;

for(int i=0;i if(!reachable[i]){
continue;
}
for(int j=i+1;j<=s.length();j++){
String e = s.substring(i,j);
if(dict.contains(e)){
reachable[j] = true;
}
}
}
return reachable[reachable.length-1];
}
}
z*********8
发帖数: 2070
8
这个case老是fail在这个test case:
Submission Result: Runtime Error
Last executed input: "aaaaaaa", ["aaaa","aa"]
谁能帮我看看?
public class Solution {
public boolean wordBreak(String s, Set dict) {
// Note: The Solution object is instantiated only once and is reused
by each test case.
boolean[] result = new boolean[s.length()+1];
result[0] = true;
int size = s.length();

for(int i=1; i <= size; ++i)
{
if(result[i] == false && dict.contains(s.substring(0,i)))
{
result[i] = true;
}

if(result[i])
{
if(i==size)
{
return true;
}

for(int j= i+1; j <= size; ++j)
{

if(result[j] == false && dict.contains(s.substring(i,j-i
)))
{
result[j] = true;
}

if(result[j] && j== size)
{
return true;
}
}
}

}

return false;
}
}
1 (共1页)
进入JobHunting版参与讨论
相关主题
Microsoft interview question请教leetcode上的那道Word Break II,多谢!
请教一个题目word break 2的时间复杂度是多少 这个解法
这题咋做?贡献一道题
问一道题wordBreak问题,有非递归的方法么
帮俺看一下代码DP+DFS为什么过不了work break II 那个大case : aaaaaaa...大家帮我看看这个程序哪里有问题啊!!
帮忙看道题:[leetcode] word breakfacebook的面试题
Groupon新鲜面经interleave string 的题目
leetcode word break II DFS 超时FB Phone Interview Failed by a simple question
相关话题的讨论汇总
话题: string话题: boolean话题: true话题: result话题: solution