經(jīng)典有水平的java面試題!

一只青蛙一次可以跳上1級臺階,也可以跳上2級。求該青蛙跳上一個(gè)n級的臺階總共有多少種跳法。

public int JumpFloor(int target) {

if(target == 1 || target == 2) {

return target;

}

// 第一階和第二階考慮過了,初始當(dāng)前臺階為第三階,向后迭代

// 思路:當(dāng)前臺階的跳法總數(shù)=當(dāng)前臺階后退一階的臺階的跳法總數(shù)+當(dāng)前臺階后退二階的臺階的跳法總數(shù)

int jumpSum = 0;// 當(dāng)前臺階的跳法總數(shù)

int jumpSumBackStep1 = 2;// 當(dāng)前臺階后退一階的臺階的跳法總數(shù)(初始值當(dāng)前臺階是第3階)

int jumpSumBackStep2 = 1;// 當(dāng)前臺階后退二階的臺階的跳法總數(shù)(初始值當(dāng)前臺階是第3階)

for(int i = 3; i <= target; i++) {

jumpSum= jumpSumBackStep1 + jumpSumBackStep2;

jumpSumBackStep2 = jumpSumBackStep1;// 后退一階在下一次迭代變?yōu)楹笸藘呻A

jumpSumBackStep1 = jumpSum; // 當(dāng)前臺階在下一次迭代變?yōu)楹笸艘浑A

}

return jumpSum;

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容