题目链接:
https://leetcode.cn/problems/jian-sheng-zi-lcof/description/?favorite=xb9nqhhg&orderBy=hot
代码:
class Solution {
public:
int cuttingRope(int n) {
int ans=1;
if(n<=3)
{
ans=n-1;
}
else
{
if(n%3==0)
{
int x=n/3;
for(int i=1;i<=x;i++)
{
ans*=3;
}
}
else if(n%3==2)
{
int x=n/3;
for(int i=1;i<=x;i++)
{
ans*=3;
}
ans*=2;
}
else if(n%3==1)
{
int x=n/3-1;
for(int i=1;i<=x;i++)
{
ans*=3;
}
ans*=4;
}
}
return ans;
}
};
LeetCode:切割绳子求最大乘积问题解决方案
文章提供了一个关于LeetCode中剑指Offer33.斩绳子问题的C++代码解法。该算法主要考虑了绳子长度对3的整除关系,以找到最大化乘积的切割策略。当绳子可以被3整除时,分割成三个等长的部分;若不能整除,根据余数调整切割方式,如余2则最后一段为2倍,余1则最后一段为4倍。
416

被折叠的 条评论
为什么被折叠?



