算法面试题 :变态跳台阶( python实现 )

变态跳台阶( python实现 )

一、题目描述

题目:变态跳台阶
一只青蛙一次可以跳上1级台阶,也可以跳上2级 …它也可以跳上 n 级,此时该青蛙跳上一个 n 级的台阶总共有多少种跳法?

二、解题思路

  这里,我们做一个简单的推导。

  因为青蛙可以跳1级,也可以跳2级…也可以跳n级。

  那么,在 n>2 的前提下,我们分情况讨论。

  情况 1:若青蛙第一步跳 1 级,剩下 n-1 级,相当于有 f(n-1) 种跳法;

  情况 2:若青蛙第一步跳 2 级,剩下 n-2 级,相当于有 f(n-2) 种跳法;

   ⋅ \cdot{} ⋅ \cdot{} ⋅ \cdot{} ⋅ \cdot{} ⋅ \cdot{} ⋅ \cdot{}

  情况 n-1:若青蛙第一步跳 n-1 级,还剩下 1 级,相当于还有 f(1) 种跳法;

  情况 n:若青蛙第一步跳 n 级,还剩下 0 级,相当于就 1 种跳法;

  最后将以上所有情况加起来,便得到 f(n) 的结果,如下:

(1) f ( n ) = f ( n − 1 ) + f ( n − 2 ) + . . . + f ( 1

你可能感兴趣的:(算法面试,经典算法实现,算法面试题,跳台阶,斐波那契,面试算法,剑指offer,python)