算法练习----青蛙跳台阶

题目:

一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。

解题思路:

看过有网上有特解的方法,但是我感觉不合适,因为想解法应该是找到普遍的规律才应该算是中规中矩。当不知道解题思路的就可以先将前几次,比如说有 1,2,3,4,5级台阶的跳法算出来,比较简单还是可以手算的,就应该发现规律了。

1 2 3 4 5 6 ... n 跳法 1 2 3 5 8 13 ... f(n-1)+ f(n-2)

通过前面的跳法数,可以发现规律,f(n) = f(n-1) + f(n-2)

解题代码:

int Solution::jumpFloor(int number)
{
	int result;
	if (number == 1)
	{
		return 1;
	}
	if (number == 2)
	{
		return 2;
	}
	result = jumpFloor(number - 1) + jumpFloor(number - 2);
	return result;

}

测试结果:

经验分享 程序员 微信小程序 职场和发展