变态跳台阶

it2023-09-28  75

题目:

一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

思路:

设到第n阶跳法为f(n)由于在到达n阶之前,可能在第 0 ~(n-1)阶,而每一阶都有跳法f(0)…f(n-1),所以f(n)=f(n-1)+…+f(0)同理f(n-1)=f(n-2)+…+f(0),两式相减得到f(n)=2f(n-1)又由于f(1)=1,我们可以列出从1到5阶的跳法,分别是1,2,4,8,16,通过数学归纳法可以得到f(n)=2^(n-1)

代码:

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

最新回复(0)