牛妹上班 题解
简单的不能再简单的动态规划(递推) =。=
class Solution {
public:
/**
*
* @param X int整型 公司所在的台阶
* @return int整型
*/
int stepsFunction(int X) {
// write code here
int num[40];
num[0] = 1;
num[1] = 1;
num[2] = 1;
for (int i = 3; i < X; i ++)
num[i] = num[i-3] + num[i-2];
return num[X-1];
}
};如果非要锦上添花搞一搞,可以状态压缩
class Solution {
public:
/**
*
* @param X int整型 公司所在的台阶
* @return int整型
*/
int stepsFunction(int X) {
// write code here
int num[4];
num[0] = 1;
num[1] = 1;
num[2] = 1;
for (int i = 3; i < X; i ++)
num[i%4] = num[(i-3)%4] + num[(i-2)%4];
return num[(X-1)%4];
}
};