Skip to content

Latest commit

 

History

History
26 lines (17 loc) · 624 Bytes

走台阶问题.md

File metadata and controls

26 lines (17 loc) · 624 Bytes

走台阶

n 阶台阶,一次走 一步两步 ,有多少种走法?

重点在于逻辑:

第n步,走一步,即 n-1 ,再求 n-1 个阶梯的走法, 走两步,即 n-2 ,再求 n-2 个阶梯的走法,

以此,n 级阶梯的走法是 n-1 个阶梯的走法与 n-2 个阶梯的走法的和

就是:f(n) = f(n-1) + f(n-2)

走台阶的的本质是求第n个斐波那契数

function GetStepNum(n) {  
  if(n<1)  return 0
  if(n==1) return 1
  if(n==2) return 2
  if(n>2)
    return GetStepNum(n - 1) + GetStepNum(n - 2)
}