剑指offer 面试题14- II. 剪绳子 II [中等]

剑指offer 面试题14- II. 剪绳子 II [中等]_第1张图片

我的解题:

上一道剪绳子的题我用的也是动态规划,不过是两个for循环,一个一个算出来的

参考大佬的题解,想要乘积越大3的个数就要越多

class Solution {
public:
    int cuttingRope(int n) {
        vector dp(1001,0);
        dp[1]=1;
        dp[2]=1;
        dp[3]=2;
        dp[4]=4;
        dp[5]=6;
        dp[6]=9;
        for(int i=7;i<=n;i++){
            dp[i]=(dp[i-3]*3)%1000000007;
        }
        return dp[n];
    }
};

剑指offer 面试题14- II. 剪绳子 II [中等]_第2张图片

你可能感兴趣的:(剑指offer,LeetCode)