gpt4 book ai didi

java - 简单的 'Make chocolate'逻辑和解决方案回顾

转载 作者:行者123 更新时间:2023-11-30 08:31:43 25 4
gpt4 key购买 nike

我正在研究一个编码 Bat 问题 http://codingbat.com/prob/p191363这里已经有很多解决方案CondingBat Python puzzle results in "Timed out" .

我的解决方案被标记为部分正确。试图理解问题。

We want make a package of goal kilos of chocolate. We have small bars (1 kilo each) and big bars (5 kilos each). Return the number of small bars to use, assuming we always use big bars before small bars. Return -1 if it can't be done.

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;
}

最佳答案

我的理解是这样的:

如果大小组合还不够,返回-1:

if((small + big * 5) < goal)  
{
return -1;
}

如果大的足够多,则将 goal 减少任意数量的 5(对于大柱),然后返回剩余的数量以表示多少小柱:

else if((big * 5) > goal)
{
return goal % 5;
}

如果没有足够的大金条来构成目标,则将值(value)减去大金条占用的所有千克,并将剩余的金条放入小金条中:

else
{
return goal - big * 5;
}

关于java - 简单的 'Make chocolate'逻辑和解决方案回顾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40515291/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com