class Solution { public: int jumpFloorII(int number) { vector<int> res{1}; int back = 0; int sum = 1; while(back != number-1){ res.push_back(1 + sum); sum += res.back(); ++back; } return res.back(); } };
第n个台阶的跳法可以为1、从平地一步跳上2、从之前所有台阶一步跳上,
数据结构用一个向量,sum变量用来保存当前向量的元素和,即为从之前所有台阶一步跳上的方法数,
更新完向量后再跟新sum值。
欢迎指正交流!!!