贪心算法:绳子分割
剪绳子
http://www.nowcoder.com/questionTerminal/57d85990ba5b440ab888fc72b0751bf8
贪心算法
每次分割都达到最优解
例如:长度为n的绳子
分割一刀,结果为:
n/2*(n/2+n%2);
当n<=4时停止,没有在分割的必要;
代码:
class Solution {
public:
int cutRope1(int number)
{
if(number<=4)
{
return number;
}
return cutRope1(number/2)*cutRope1(number/2+number%2);
}
int cutRope(int number) {
if(number==1)
{
return 0;
}
if(number==2)
{
return 1;
}
if(number==3)
{
return 2;
}
return cutRope1(number);
}};
查看21道真题和解析