劍指offer 變態跳臺階

Inequality-Sign發表於2018-03-26

題目描述
一隻青蛙一次可以跳上1級臺階,也可以跳上2級……它也可以跳上n級。求該青蛙跳上一個n級的臺階總共有多少種跳法。

首先用動態規劃的思考方式跳到第i階臺階的方法數量應為之前所有階數各自的方法總和即dp[0] + dp[1] +dp[2] + ……+dp[i -1]注意起始位置也應該算為一種。

找到規律dp[i] = 2 * dp[i -1]

因此dp[i] = 2 ^ (i - 1)

 public int JumpFloorII(int target) {
      return (int)(2 * Math.pow(2,target - 1));

    }

相關文章