私はコード化バットの質問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;
}
ここでは、コードスニペットのロジックはかなり私に近いと思われます。何が問題になっていますか? –
コードチャレンジは私の答えを正しいものとしてマークしません。私は問題を間違って理解していると思った。さらにhttp://stackoverflow.com/questions/15617869/condingbat-python-puzzle-results-in-timed-outにはさまざまなソリューションがあります@ j.seashell –