解题思路:动态规划。
class Solution {
public:
int cutRope(int number) {
if (number <= 4) return number;
vector<int> f(number+1, 0);
for (int i = 0; i <=4; i++){
f[i] = i;
}
for (int i = 5; i <= number; i++){
for (int j = 1; j < i; j++){
f[i] = max(f[i], f[i-j] * f[j]);
}
}
return f[number];
}
}
执行结果