#include<iostream>usingnamespace std;//牛客网都是3ms,384K//菲波那切数列问题classSolution1{public:intFibonacci(int n){return[&n](){int f =1, s =0;while(n--){ s = f + s; f = s - f;}return s;}();}};//跳台阶问题,就是斐波那契问题,比标准的前移了一位,用一个常规的动态规划写法写classSolution{public:intjumpFloor(int number){int first =1;//f(-1)int second =0;//f(0)while(number--){
second = first + second;
first = second - first;}return second;}};//变态跳台阶问题,使用数学归纳法得到其通项公式为an = 2^(n-1)//牛客网3ms,460KclassSolution2{public:intjumpFloorII(int number){return1<<(number -1);}};