我有一个编码问题,要求:
我们想制作一排目标英寸长的砖块。我们有一些小砖块(每块 1 英寸)和大砖块(每块 5 英寸)。如果可以通过从给定的积木中进行选择来实现目标,则返回真。这比看起来要难一点,并且可以在没有任何循环的情况下完成。
例子是:
L511_makeBricks(3, 1, 8) → 真
L511_makeBricks(3, 1, 9) → 错误
L511_makeBricks(3, 2, 10) → 真。
我写了以下代码:
public boolean L511_makeBricks(int small, int big, int goal) {
int smalln;
int bign;
smalln = 0;
bign = 0;
while (smalln <= small){
while (bign<= big) {
if (smalln + bign*5 == goal){
return true;
}else{
bign = bign + 1;
}
}
bign = 0 ;
smalln = smalln + 1;
}
return false;
}
当我运行这个问题时,它说除了“其他”之外的每个测试运行都是正确的,它运行更多的例子来检查它是否正确。
我看不出我的代码哪里出了问题。我的代码应该做的是遍历小砖块和大砖块的每种可能组合。
富国沪深
相关分类