首页 > 其他 > 详细

剑指OFFER 剪绳子

时间:2020-02-03 18:53:44      阅读:81      评论:0      收藏:0      [点我收藏+]

剑指OFFER 剪绳子

class Solution {
public:
    int cutRope(int number) {
        //最少要剪一次,所以前面的dp数据有点特别
        if(number == 1)return 1;
        if(number == 2)return 1;
        if(number == 3)return 2;
        
        vector<int> dp;
        dp.resize(number + 1);
        
        //这里是不需要再剪的数据,这里可能会多余一两个数据,但是没有关系,都写上
        dp[0]=0;
        dp[1]=1;
        dp[2]=2;
        dp[3]=3;

        for(int i=4;i<=number;i++)
        {
            for(int j=1;j<=i/2;j++)
            {
                dp[i] = max(dp[i-j]*dp[j],dp[i]);
            }
        }

        return dp[number];
    }
};

剑指OFFER 剪绳子

原文:https://www.cnblogs.com/virgildevil/p/12256400.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!