【发布时间】:2016-11-09 20:17:20
【问题描述】:
我正在研究一个编码蝙蝠问题http://codingbat.com/prob/p191363,这里已经有很多解决方案CondingBat Python puzzle results in "Timed out"。
我的解决方案被标记为部分正确。试图理解问题。
我们要制作一包目标公斤数的巧克力。我们有小酒吧 (每个 1 公斤)和大条(每个 5 公斤)。返回小数 使用酒吧,假设我们总是在小酒吧之前使用大酒吧。返回 -1 如果无法完成。
makeChocolate(4, 1, 9) → 4 makeChocolate(4, 1, 10) → -1
makeChocolate(4, 1, 7) → 2
据我了解,制作巧克力的方法应该使用所有可用的大棒来达到目标,然后使用小棒。如果大条已经足够,则返回 0。 如果我对问题的理解有误,可以告诉我吗?
这是我的解决方案:
public int makeChocolate(int small, int big, int goal) {
if (small + big*5 < goal) return -1;
int smallNeeded = goal - big * 5;
if(smallNeeded <= 0) return 0;
return smallNeeded;
}
【问题讨论】:
-
您在代码 sn-p 中的逻辑似乎与我非常接近。你有什么问题?
-
代码挑战没有将我的答案标记为正确。所以我认为我对问题的理解是错误的。甚至stackoverflow.com/questions/15617869/… 有不同的解决方案@j.seashell