由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 问道题,谢谢
相关主题
问道amazon的面试题问道题
贡献两道的面试题大家帮忙解释一个 LeetCode DP (distinct subsequences)
来一题一定电挂了(G家)
问道G题周末上道小题吧anagram的
一道亚麻电面题目发苹果电面面经攒人品
讨论A家一道题utf-8
amazon面试题目不清楚题意问几道L家的设计题
无穷的字符串流, 有限的内存, 如何快速的找出唯一一对 重复字符串?count and say的输入输出可能一样吗?F考过的?
相关话题的讨论汇总
话题: dp话题: int话题: index话题: 121话题: num
进入JobHunting版参与讨论
1 (共1页)
f*********m
发帖数: 726
1
给一个count and say的结果,确定有多少种可能的输入。比如,"1211" 可以解释成1
个2,1个1,121个1,12个11或者121个1。所以有四种可能的输入。
这个题是glassdoor上看到的,当时作者只是给了2,1个1,121个1这两个例子。
我有个backtracking的想法。
int numberOfWays(string& s, int index)
{
if (index == s.size())
return 1;

int num = 0;
for (int i = index; i < size(); ++i)
{
for (int j = i+1; j < size(); ++j)
{
if (s.substr(index, i) can be the count && s.substr(i+1, j) can
be the number)
num += numberOfWays(s, j+1);
}
}

return num;
}
不知道对不对,或者大家有没有更好的方法?
谢谢。
f*********m
发帖数: 726
2
ding
l*****a
发帖数: 14598
3
1个211,12个11可以吗

1

【在 f*********m 的大作中提到】
: 给一个count and say的结果,确定有多少种可能的输入。比如,"1211" 可以解释成1
: 个2,1个1,121个1,12个11或者121个1。所以有四种可能的输入。
: 这个题是glassdoor上看到的,当时作者只是给了2,1个1,121个1这两个例子。
: 我有个backtracking的想法。
: int numberOfWays(string& s, int index)
: {
: if (index == s.size())
: return 1;
:
: int num = 0;

r**h
发帖数: 1288
4
题意没理解错的话,应该是count数字字符吧?前面数字可以任意位,最后字符只能1位
我想到的是二维DP:
DP[1][i] = 0;(不能空余第一个单字)
DP[i][N-1] = 0;
子段长度不大于3的情况,不能分离成两个子段
DP[i][i] = 0;
DP[i][i+1] = 1;
DP[i][i+2] = 1;
子段长度大于3的情况,可能的组合数
j>=i+3
DP[i][j] = sum(DP[i][k] * DP[k+1][j])+1 (i 不知道是否正确,求指点

1

【在 f*********m 的大作中提到】
: 给一个count and say的结果,确定有多少种可能的输入。比如,"1211" 可以解释成1
: 个2,1个1,121个1,12个11或者121个1。所以有四种可能的输入。
: 这个题是glassdoor上看到的,当时作者只是给了2,1个1,121个1这两个例子。
: 我有个backtracking的想法。
: int numberOfWays(string& s, int index)
: {
: if (index == s.size())
: return 1;
:
: int num = 0;

b*****n
发帖数: 618
5
一维DP就可以吧

【在 r**h 的大作中提到】
: 题意没理解错的话,应该是count数字字符吧?前面数字可以任意位,最后字符只能1位
: 我想到的是二维DP:
: DP[1][i] = 0;(不能空余第一个单字)
: DP[i][N-1] = 0;
: 子段长度不大于3的情况,不能分离成两个子段
: DP[i][i] = 0;
: DP[i][i+1] = 1;
: DP[i][i+2] = 1;
: 子段长度大于3的情况,可能的组合数
: j>=i+3

f*********m
发帖数: 726
6
请展开说说。

【在 b*****n 的大作中提到】
: 一维DP就可以吧
f*********m
发帖数: 726
7
应该也可以。

【在 l*****a 的大作中提到】
: 1个211,12个11可以吗
:
: 1

f*********m
发帖数: 726
8
为什么最后字符只能是一位呢?
可能我把题说得不清楚,改正了。

【在 r**h 的大作中提到】
: 题意没理解错的话,应该是count数字字符吧?前面数字可以任意位,最后字符只能1位
: 我想到的是二维DP:
: DP[1][i] = 0;(不能空余第一个单字)
: DP[i][N-1] = 0;
: 子段长度不大于3的情况,不能分离成两个子段
: DP[i][i] = 0;
: DP[i][i+1] = 1;
: DP[i][i+2] = 1;
: 子段长度大于3的情况,可能的组合数
: j>=i+3

b*****n
发帖数: 618
9
需要处理开头是0的情况吗?
比如011这种可以算做01个1或者0个11吗?
还有101这种可以算1个01吗?
简单一点,如果不考虑上述情况
DP[0] = 1
DP[1] = 0
DP[i] = sum (DP[k]* (i-k-1)) where (0<=k<=i-2)
如果需要考虑上面开头是0的情况的话,需要在DP的时候处理一下

【在 b*****n 的大作中提到】
: 一维DP就可以吧
1 (共1页)
进入JobHunting版参与讨论
相关主题
count and say的输入输出可能一样吗?F考过的?一道亚麻电面题目
LC的题确实变难了。。。讨论A家一道题
LC 10. Regular Expression Matching questionamazon面试题目不清楚题意
前面那google题删贴了?无穷的字符串流, 有限的内存, 如何快速的找出唯一一对 重复字符串?
问道amazon的面试题问道题
贡献两道的面试题大家帮忙解释一个 LeetCode DP (distinct subsequences)
来一题一定电挂了(G家)
问道G题周末上道小题吧anagram的
相关话题的讨论汇总
话题: dp话题: int话题: index话题: 121话题: num