剑指OFFER 剪绳子
剑指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];
}
};
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步