我不知道这是不是正确的部分…但这里有:
上周在面试街(代码sprint 3)的比赛有一个叫保龄球的问题。(10针保龄球,n帧)。重点是通过播放n帧来计算得分m分的方法的数量。
问题陈述如下:http://pastebin.com/cyeLML8U
我很确定我已经用二维dp解决了这个问题。然而,我得到的第三个样本数据是错误的(1帧,25点)。样本答案是1,但我得到6。
这是他们对样本答案的解释:
For the third case, there is only 1 way. Score a strike in the first frame, score another strike with the first extra ball, and an additional 5 with the second extra ball.
但是,你不能在第一帧(也是唯一一帧)中得分,然后在随后的额外帧中得分吗?
10 5
9 6
8 7
7 8
6 9
5 10
我不明白为什么“1”是正确的答案我也在维基百科上寻找规则。
他们的回答可能是对的,我可能忽略了一些非常明显的东西。有人能告诉我我的答案有什么问题吗?
最佳答案
你不能得到9针与第一个额外的球,然后6针与第二个额外的球,因为只有1针的立场时,你碗第二个额外的球。
关于algorithm - 来自InterviewStreet的保龄球计数算法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13147654/