题解 | #跳台阶#
跳台阶
https://www.nowcoder.com/practice/8c82a5b80378478f9484d87d1c5f12a4
#include <utility> class Solution { public: // 2.使用了带有备忘录的递归,也可以理解成是另类的动态规划 map<int,int> m; int jumpFloor(int number) { // 边界条件 if (number==1) { return 1; } if (number==2) { return 2; } // 如果map中记录了数据的话,那么就直接返回 if (m.find(number)!=m.end()) { return m.find(number)->second; }else { pair<int, int> p(number, (jumpFloor(number-1)+jumpFloor(number-2))); m.insert(p); return m.find(number)->second; } } };