由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 关于String Interleaving 验证的问题
相关主题
Interleave Strings那个题目有O(n)时间 O(1)空间算法么?问一个老的google面试题
facebook的面试题google 电面
interleave string 的题目问一道Google的题
设计一个string class,是应该用linked list还是array?字符串中查找包含给定字符的最短子串
问一道题(8)问个google的面经
Distinct Subsequenceleetcode 438的难度 是不是标错了?
请教关于乐扣的interleaving string那道题问个题
**公司面试问题,求助,多谢!!问个简单的问题...
相关话题的讨论汇总
话题: string话题: map话题: s3话题: s1话题: s2
进入JobHunting版参与讨论
1 (共1页)
N*********6
发帖数: 4372
1
看到板上有网友报面经,往前翻翻发现大家讨论过很多次
小弟有几个问题
String a 长度 m
String b 长度 n
String c 长度 m+n
verify c 是不是a 和 b的interleaving
1. 这道题用DP的话时间上应该是O(m*n),空间上填2d table的话是O(m*n)
如果重复利用行的话可以到O(n)
2. 如果是Recursion的话复杂度是多少呢?我不理解的是如果c
当前字符和a的当前字符以及b的当前字符都一样的话,要分两路
去查找,当然第一路如果返回true的话第二路就没必要了,可是
一个比较极端的例子
a: aaaaa
b: aaaad
c: aaaadaaaaa
如果算法在遇到相同的字符是先假定是从a string来的,这个例子
就会非常time consuming,需要不停back tracking,请问这种情况
下recursion的复杂度是多少呢?
昨天在leetcode上用recursion发现small data可以过,large的
就超时了
3. 如果递归,我个人觉得不应该在开始比较字符串长度是否相等吧?
因为每次获取字符串长度都要O(m)或者O(n)的时间,应该假设这两个
长度是已知或者只在最开始的时候比较一次,大家觉得呢?
e****e
发帖数: 418
2
1. Agree.空间 O(min(m, n))
2. Running time: (m+n)!/(m or n)!
3. Agree on 只在最开始的时候比较一次.
c****9
发帖数: 164
3
贴个过了测试的递归dp的code
class Solution {
public:
vector > map;
bool help(string& s1,string& s2,string& s3,int i, int j)
{
if(i+j==s3.size())
map[i][j]=true;
if(map[i][j]==1)
return true;
else if(map[i][j]==0)
return false;
if(i {
if(help(s1,s2,s3,i+1,j))
map[i][j]=1 ;
else
map[i][j] = 0 ;

}
if(j {
if(help(s1,s2,s3,i,j+1))
map[i][j] = 1 ;
else
map[i][j] = 0 ;
}
return map[i][j]==1;
}
bool isInterleave(string s1, string s2, string s3) {
vector tmp(s2.size()+1,-1);
vector > map2(s1.size()+1,tmp);
map = map2;
if(s1.size()+s2.size()!=s3.size())
return false;
else
return help(s1,s2,s3,0,0);
}
};
1 (共1页)
进入JobHunting版参与讨论
相关主题
问个简单的问题...问一道题(8)
请教一道leetcode的新题Distinct Subsequence
G家最新电面请教关于乐扣的interleaving string那道题
G 家店面 找到missing number变种**公司面试问题,求助,多谢!!
Interleave Strings那个题目有O(n)时间 O(1)空间算法么?问一个老的google面试题
facebook的面试题google 电面
interleave string 的题目问一道Google的题
设计一个string class,是应该用linked list还是array?字符串中查找包含给定字符的最短子串
相关话题的讨论汇总
话题: string话题: map话题: s3话题: s1话题: s2