【牛客网】跳台阶

    xiaoxiao2024-12-25  12

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

    运行时显示超时源代码

    #include<iostream> using namespace std; int cnt = 0; int jumpFloor(int number){ if (number == 1)jumpFloor(number - 1); if (number == 0)cnt++; if (number >=2){ jumpFloor(number - 1); jumpFloor(number - 2); } return cnt;//这道题用递归时会超时 } int main(){ int number,t; cin >> number; if (number == 0)t = 0; else t=jumpFloor(number); cout << t << endl; return 0; } AC的代码 class Solution { public: int jumpFloor(int number) { if (number == 0 || number == 1) return number; int a = 1, b = 2; while (number-->1){ b= a + b; a = b - a; } return a;//总结规律后发现原来考的是斐波那挈数列 } };
    转载请注明原文地址: https://ju.6miu.com/read-1294963.html
    最新回复(0)