Redian新闻
>
好伤心 看了半年的一只猫被别人领养了
avatar
好伤心 看了半年的一只猫被别人领养了# pets - 心有所宠
f*m
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;
}
不知道对不对,或者大家有没有更好的方法?
谢谢。
avatar
c*n
2
之前一直很忙
当时租的房子养猫也很麻烦
然后有时候就休息时候翻翻离家比较近一个shelter的网站
看到了Echo,真是好漂亮啊
而且很像以前我在国内一直pet的一只野猫
上周五还看了看网站 当时还自言自语 Echo啊,你就要到我家啦
然后周末搬家
结果今天一看 照片已经没有了!
那家shelter是non-kill的,有几只老猫出现了半年以上,所以只能是被其他人领养去
了..
希望她在别人家玩得开心了 只有
现在也只能看看照片了,好伤心
今天洗澡时候还在想猫砂盆放在哪里。。
avatar
f*m
3
ding
avatar
N*t
4
pat pat,他不属于你,有缘分的跑不掉
avatar
l*a
5
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;

avatar
b*s
6
另找一只吧,好脾气的奶牛猫不难找的。
avatar
r*h
7
题意没理解错的话,应该是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;

avatar
e*e
8
拍拍mm。缘分不到没办法。下只更可爱!
avatar
b*n
9
一维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

avatar
f*m
10
请展开说说。

【在 b*****n 的大作中提到】
: 一维DP就可以吧
avatar
f*m
11
应该也可以。

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

avatar
f*m
12
为什么最后字符只能是一位呢?
可能我把题说得不清楚,改正了。

【在 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

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