Redian新闻
>
Dropbox的online coding exercise
avatar
Dropbox的online coding exercise# JobHunting - 待字闺中
g*a
1
Glassdoor上有人贴,不过上面没有详细的题目描述,不知道pattern是不是general的,
请教有没有什么好的思路?
Given a pattern and a string input - find if the string follows the same
pattern and return 0 or 1.
Examples:
1) Pattern : "abab", input: "redblueredblue" should return 1.
2) Pattern: "aaaa", input: "asdasdasdasd" should return 1.
3) Pattern: "aabb", input: "xyzabcxzyabc" should return 0.
avatar
s*r
2
一个星期前面过原题,用DFS做。
注意有可能会有这样的case:
"abab" input "redredredred" should return false
我当时用hashset存已经map过的pattern.

的,

【在 g***a 的大作中提到】
: Glassdoor上有人贴,不过上面没有详细的题目描述,不知道pattern是不是general的,
: 请教有没有什么好的思路?
: Given a pattern and a string input - find if the string follows the same
: pattern and return 0 or 1.
: Examples:
: 1) Pattern : "abab", input: "redblueredblue" should return 1.
: 2) Pattern: "aaaa", input: "asdasdasdasd" should return 1.
: 3) Pattern: "aabb", input: "xyzabcxzyabc" should return 0.

avatar
g*a
3
多谢!
请问DFS是穷举法的意思么?
比如对于第一个pattern“a”的话遍历所有可能的子串长度?然后一直recursion,里
面加一个hashset的参数存当前出现过的所有pattern?
这样可以过test么?

【在 s**********r 的大作中提到】
: 一个星期前面过原题,用DFS做。
: 注意有可能会有这样的case:
: "abab" input "redredredred" should return false
: 我当时用hashset存已经map过的pattern.
:
: 的,

avatar
s*r
4
是的,有点像穷举法的感觉。
我给你一个建议:你可以先把带space的情况和不带space的情况自己先写一下,在电脑
上自己测试通过。
如果真的出这道题,你就不用那么紧张。
另外loghit那道也要准备,非常高频。
加油。
avatar
n*s
5
题目不是很清楚,
如果 a -> redr, b -> ed, abab 应该可以map 到 redredredred 吧?

【在 s**********r 的大作中提到】
: 一个星期前面过原题,用DFS做。
: 注意有可能会有这样的case:
: "abab" input "redredredred" should return false
: 我当时用hashset存已经map过的pattern.
:
: 的,

avatar
e*i
6
who can post a solution for the pattern matching problem. I have no clue.
avatar
s*l
7
请问那个loghit啊
能给个link 或者说说题吗?

【在 s**********r 的大作中提到】
: 是的,有点像穷举法的感觉。
: 我给你一个建议:你可以先把带space的情况和不带space的情况自己先写一下,在电脑
: 上自己测试通过。
: 如果真的出这道题,你就不用那么紧张。
: 另外loghit那道也要准备,非常高频。
: 加油。

avatar
g*a
8
Glassdoor上有人贴,不过上面没有详细的题目描述,不知道pattern是不是general的,
请教有没有什么好的思路?
Given a pattern and a string input - find if the string follows the same
pattern and return 0 or 1.
Examples:
1) Pattern : "abab", input: "redblueredblue" should return 1.
2) Pattern: "aaaa", input: "asdasdasdasd" should return 1.
3) Pattern: "aabb", input: "xyzabcxzyabc" should return 0.
avatar
s*r
9
一个星期前面过原题,用DFS做。
注意有可能会有这样的case:
"abab" input "redredredred" should return false
我当时用hashset存已经map过的pattern.

的,

【在 g***a 的大作中提到】
: Glassdoor上有人贴,不过上面没有详细的题目描述,不知道pattern是不是general的,
: 请教有没有什么好的思路?
: Given a pattern and a string input - find if the string follows the same
: pattern and return 0 or 1.
: Examples:
: 1) Pattern : "abab", input: "redblueredblue" should return 1.
: 2) Pattern: "aaaa", input: "asdasdasdasd" should return 1.
: 3) Pattern: "aabb", input: "xyzabcxzyabc" should return 0.

avatar
g*a
10
多谢!
请问DFS是穷举法的意思么?
比如对于第一个pattern“a”的话遍历所有可能的子串长度?然后一直recursion,里
面加一个hashset的参数存当前出现过的所有pattern?
这样可以过test么?

【在 s**********r 的大作中提到】
: 一个星期前面过原题,用DFS做。
: 注意有可能会有这样的case:
: "abab" input "redredredred" should return false
: 我当时用hashset存已经map过的pattern.
:
: 的,

avatar
s*r
11
是的,有点像穷举法的感觉。
我给你一个建议:你可以先把带space的情况和不带space的情况自己先写一下,在电脑
上自己测试通过。
如果真的出这道题,你就不用那么紧张。
另外loghit那道也要准备,非常高频。
加油。
avatar
n*s
12
题目不是很清楚,
如果 a -> redr, b -> ed, abab 应该可以map 到 redredredred 吧?

【在 s**********r 的大作中提到】
: 一个星期前面过原题,用DFS做。
: 注意有可能会有这样的case:
: "abab" input "redredredred" should return false
: 我当时用hashset存已经map过的pattern.
:
: 的,

avatar
e*i
13
who can post a solution for the pattern matching problem. I have no clue.
avatar
s*l
14
请问那个loghit啊
能给个link 或者说说题吗?

【在 s**********r 的大作中提到】
: 是的,有点像穷举法的感觉。
: 我给你一个建议:你可以先把带space的情况和不带space的情况自己先写一下,在电脑
: 上自己测试通过。
: 如果真的出这道题,你就不用那么紧张。
: 另外loghit那道也要准备,非常高频。
: 加油。

avatar
g*y
15
嗯, 出题人没想好。全解此题貌似要用到compiler技术。

【在 n**s 的大作中提到】
: 题目不是很清楚,
: 如果 a -> redr, b -> ed, abab 应该可以map 到 redredredred 吧?

avatar
g*a
16
那个例子貌似不合适,应该是输出1,
不过楼主的意思很明确,就是不同的pattern不能map到相同的string
比如pattern “abba” 对应 string “xxxx”就不行。

【在 n**s 的大作中提到】
: 题目不是很清楚,
: 如果 a -> redr, b -> ed, abab 应该可以map 到 redredredred 吧?

avatar
b*7
18
只能dfs吗? 感觉和后缀数组有点关系. 但没想出来.
那位大牛能给个多项式复杂度的算法吗?
avatar
w*i
19
让start1为string里的起始点,start2为pattern里的起始点,初始值都为0.
boolean dfs(String str, int start1, char[] pattern, int start2, Map<
Character, String> map, Set visited) {
if (start1 == str.length() || start2 == pattern.length) {
return start1 == str.length() && start2 == pattern.length;
}
char ch = pattern[start2++];
if (map.containsKey(ch)) {
在map里找到对应单词
if(str能够从start1开始取到这个单词)
return dfs(str, start1 + 下个单词长度,
pattern, start2, map, visited);
} else {
for (int end = start1 + 1; end <= str.length(); ++end) {
让nextWord为start1和end之间的substring,
if(nextWord在visited中) continue;
map.put(ch, nextWord);
visited.add(nextWord);
if (haveWordPattern(str, end, pattern, start2, map, visited)
) {
return true;
}
map.remove(ch);
visited.remove(nextWord);
}
return false;
}
其实里面还可以加点剪枝代码,不过大概就是这样了。

【在 b********7 的大作中提到】
: 只能dfs吗? 感觉和后缀数组有点关系. 但没想出来.
: 那位大牛能给个多项式复杂度的算法吗?

avatar
m*g
20
看来刷题得多啊。
avatar
g*y
21
嗯, 出题人没想好。全解此题貌似要用到compiler技术。

【在 n**s 的大作中提到】
: 题目不是很清楚,
: 如果 a -> redr, b -> ed, abab 应该可以map 到 redredredred 吧?

avatar
g*a
22
那个例子貌似不合适,应该是输出1,
不过楼主的意思很明确,就是不同的pattern不能map到相同的string
比如pattern “abba” 对应 string “xxxx”就不行。

【在 n**s 的大作中提到】
: 题目不是很清楚,
: 如果 a -> redr, b -> ed, abab 应该可以map 到 redredredred 吧?

avatar
b*7
24
只能dfs吗? 感觉和后缀数组有点关系. 但没想出来.
那位大牛能给个多项式复杂度的算法吗?
avatar
w*i
25
让start1为string里的起始点,start2为pattern里的起始点,初始值都为0.
boolean dfs(String str, int start1, char[] pattern, int start2, Map<
Character, String> map, Set visited) {
if (start1 == str.length() || start2 == pattern.length) {
return start1 == str.length() && start2 == pattern.length;
}
char ch = pattern[start2++];
if (map.containsKey(ch)) {
在map里找到对应单词
if(str能够从start1开始取到这个单词)
return dfs(str, start1 + 下个单词长度,
pattern, start2, map, visited);
} else {
for (int end = start1 + 1; end <= str.length(); ++end) {
让nextWord为start1和end之间的substring,
if(nextWord在visited中) continue;
map.put(ch, nextWord);
visited.add(nextWord);
if (haveWordPattern(str, end, pattern, start2, map, visited)
) {
return true;
}
map.remove(ch);
visited.remove(nextWord);
}
return false;
}
其实里面还可以加点剪枝代码,不过大概就是这样了。

【在 b********7 的大作中提到】
: 只能dfs吗? 感觉和后缀数组有点关系. 但没想出来.
: 那位大牛能给个多项式复杂度的算法吗?

avatar
m*g
26
看来刷题得多啊。
avatar
h*n
27
这个应该是true的,re|dred|re|dred

【在 s**********r 的大作中提到】
: 一个星期前面过原题,用DFS做。
: 注意有可能会有这样的case:
: "abab" input "redredredred" should return false
: 我当时用hashset存已经map过的pattern.
:
: 的,

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。