牛妹上班 题解

简单的不能再简单的动态规划(递推) =。=

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];
    }
};
全部评论

相关推荐

头像
09-05 10:14
已编辑
门头沟学院 Java
赫一鸣:我昨天投的,今天就oc了,也没和我说要面试笔试啊?不说了这单要超时了
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务