题解 | #跳台阶扩展问题#
跳台阶扩展问题
https://www.nowcoder.com/practice/22243d016f6b47f2a6928b4313c85387?tpId=13&&tqId=11162&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking
C++
思路:可以想到用递归的思路。n阶台阶可以一次跳1、2、3、...、(n-1)、n阶,假设跳n阶台阶有F(n)种跳法,那么F(n)=1+F(n-1)+F(n-2)+...+F(3)+F(2)+F(1),其中1表示一次跳n阶只有一种跳法。
根据这个公式写递归函数可以得到如下代码:
class Solution { public: int jumpFloorII(int number) { int count=1; for(int i=1;i<number;i++) { count+=jumpFloorII(number-i); } return count; }; };
牛客刷题记录 文章被收录于专栏
记录自己的刷题记录,刷过的题的解法