HTML爬樓梯問題是一個經(jīng)典的計算機(jī)編程問題,涉及到遞歸算法和程序設(shè)計技巧。在這個問題中,我們需要計算一個小人從樓底開始爬樓梯,每次可以爬1級或2級臺階,然后到達(dá)樓頂?shù)姆椒〝?shù)。
下面是這個問題的代碼實現(xiàn):
function climbStairs(n) { if (n === 1) { return 1; } if (n === 2) { return 2; } let dp = [0, 1, 2]; for (let i = 3; i<= n; i++) { dp[i] = dp[i-1] + dp[i-2]; } return dp[n]; }
該函數(shù)接受一個整數(shù)n作為參數(shù),表示樓梯的級數(shù),然后返回小人到達(dá)樓頂?shù)姆椒〝?shù)。
該函數(shù)使用了動態(tài)規(guī)劃的思路,設(shè)dp[i]為小人到達(dá)第i級臺階的方法數(shù)。則有dp[i] = dp[i-1] + dp[i-2]。我們可以通過一次遍歷,計算出dp數(shù)組中每一項的值,最終返回dp[n]即可。