由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - Leetcode Timeout
相关主题
Leetcode-010: Regular Expression Match (DP Solution)实现regex(.*+)和wildcard(?*)匹配的题
leetcode是不是最近有点问题?一道字符串题目
Interleave Strings那个题目有O(n)时间 O(1)空间算法么?java没有指针真麻烦
Leetcode书中missing range一题的答案是不是错的?regular expression mathinc --Java写竟然超时了/。
帮忙看道题:[leetcode] word break[难题求助] leetcode wordsearch
interleave string 的题目谷歌电面回馈
已经用了dp,我的wildcard怎么还是过不了大ojString permunation question (CS)
Wildcard Matching 和 Regular Expression Matching 区别是什么贡献今天facebook电面 一道题
相关话题的讨论汇总
话题: i2话题: dp话题: i1话题: int话题: string
进入JobHunting版参与讨论
1 (共1页)
A*H
发帖数: 127
1
是一定code有问题么,还是有可能程序跑得不够快?
wildcard matching 那题,small test 过了,large test 一直timeout, 大家帮忙看
看这个java code有什么问题么? 除了暴力法,还有更快得解法么?
public boolean isMatch(String s, String p) {
return match(s, p, 0, 0);
}
public boolean match(String s1, String s2, int i1, int i2) {
int l1 = s1.length();
int l2 = s2.length();
if (i2 == l2) return i1 == l1;
if (s2.charAt(i2) == '*') {
while (i2 i2++; // find next non * character
while (i1 < l1) {
if (match(s1, s2, i1++, i2))
return true;
}
return match(s1, s2, i1, i2); //when i1 ends
} else if (i1 < l1 &&
(s2.charAt(i2) == '?' || s1.charAt(i1) == s2.charAt(i2))) {
return match(s1, s2, i1+1, i2+1);
}
return false;
}
h****e
发帖数: 928
2
暴力是不行的,一定要有一些优化。你可以就return false看
LeetCode的测试数据是什么,然后一个个试过去。你肯定会
找到至少对于一个测试数据你的程序要运行>>1分钟的。打印出
一些调试信息你就可以知道为什么哪里运行慢了。
B*******1
发帖数: 2454
3
在function里面加多一个参数, count,每次recursive + 1, 计算现在在哪里一层内
循环, 如果超过一定数目,直接return false,一样就可以看出hang在哪个case了。
b**********g
发帖数: 90
4
不用递归,用DP做,不会timeout。

【在 A*H 的大作中提到】
: 是一定code有问题么,还是有可能程序跑得不够快?
: wildcard matching 那题,small test 过了,large test 一直timeout, 大家帮忙看
: 看这个java code有什么问题么? 除了暴力法,还有更快得解法么?
: public boolean isMatch(String s, String p) {
: return match(s, p, 0, 0);
: }
: public boolean match(String s1, String s2, int i1, int i2) {
: int l1 = s1.length();
: int l2 = s2.length();
: if (i2 == l2) return i1 == l1;

b**********g
发帖数: 90
5
不用递归,用DP做,不会timeout。

【在 A*H 的大作中提到】
: 是一定code有问题么,还是有可能程序跑得不够快?
: wildcard matching 那题,small test 过了,large test 一直timeout, 大家帮忙看
: 看这个java code有什么问题么? 除了暴力法,还有更快得解法么?
: public boolean isMatch(String s, String p) {
: return match(s, p, 0, 0);
: }
: public boolean match(String s1, String s2, int i1, int i2) {
: int l1 = s1.length();
: int l2 = s2.length();
: if (i2 == l2) return i1 == l1;

p*****2
发帖数: 21240
6
我写了一个DP的怎么还是超时呢?
哪里可以改善?
public boolean isMatch(String s, String p)
{
int m = s.length();
int n = p.length();
boolean[][] dp = new boolean[2][n + 1];
dp[0][0] = true;
for (int j = 1; j <= n; j++)
{
if (p.charAt(j - 1) == '*')
dp[0][j] = dp[0][j - 1];
}
for (int i = 1; i <= m; i++)
{
int curr=i%2;
int prev=(i+1)%2;
Arrays.fill(dp[curr],false);

for (int j = 1; j <= n; j++)
{
if (s.charAt(i - 1) == p.charAt(j - 1)
|| p.charAt(j - 1) == '?')
dp[curr][j] = dp[prev][j - 1];
if (p.charAt(j - 1) == '*')
dp[curr][j] = dp[prev][j]||dp[curr][j-1];
}
}
return dp[m%2][n];
}
1 (共1页)
进入JobHunting版参与讨论
相关主题
贡献今天facebook电面 一道题帮忙看道题:[leetcode] word break
这题咋做?interleave string 的题目
facebook的面试题已经用了dp,我的wildcard怎么还是过不了大oj
leetcode 一道题 valid palindromeWildcard Matching 和 Regular Expression Matching 区别是什么
Leetcode-010: Regular Expression Match (DP Solution)实现regex(.*+)和wildcard(?*)匹配的题
leetcode是不是最近有点问题?一道字符串题目
Interleave Strings那个题目有O(n)时间 O(1)空间算法么?java没有指针真麻烦
Leetcode书中missing range一题的答案是不是错的?regular expression mathinc --Java写竟然超时了/。
相关话题的讨论汇总
话题: i2话题: dp话题: i1话题: int话题: string