這是場景問題:TestDome:我的解決方案有效,但我只能獲得%50,而不是%100?
青蛙只能向前移動,但它可以步進1英寸長或跳躍2英寸長。青蛙可以使用不同的步驟和跳躍組合覆蓋相同的距離。
編寫一個函數來計算青蛙可用於覆蓋給定距離的不同組合的數量。
例如,3英寸的距離可以通過三種方式進行覆蓋:步進步進,跳步和跳步。
public class Frog{
public static int numberOfWays(int input) {
int counter = 2;
int x = 0;
for (int i = 1 ; i< input -1; i++){
x = i + counter;
counter = x;
}
if (input <3){
x = input;
}
return x;
}
public static void main(String[] args) {
System.out.println(numberOfWays(10));
}
}
該解決方案只給我50%權不知道爲什麼它不是100%正確的,我與其他值進行了測試,並返回正確的結果。
爲哦不對感謝,但是這是要帶我的時間來了解這個過程是如何工作的。你能建議關於這個話題的任何材料嗎? – Haris
那麼你可以谷歌任何關於「遞歸」,這基本上是從它自己的身體調用函數。我不確定我可以爲你推薦一個關於該主題的好資源。另外值得一提的是,您指定的問題的解決方案與計算第n個斐波納契數字的方法完全相同,因此您也可以搜索該問題。 –
哦,哈哈我沒有意識到我認爲這是模式,但我錯了。我想我必須更詳細地研究遞歸;不是我最喜歡的話題,但我別無選擇。 – Haris