剑指 Offer 14- II. 剪绳子 II
剑指 Offer 14- II. 剪绳子 II
题目
1 | 给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]...k[m - 1] 。请问 k[0]*k[1]*...*k[m - 1] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。 |
思路
这个就是对最终结果求余,但是如果用我们的动态规划的解法,对结果求余不能使用,因为这不是简单的累乘,而是这一步的结果要与上一步的结果记性大小比较,所以不能对动态规划求余。
现在我找到的都是使用的贪心算法,然后对结果求余
实现
1 | private static class Solution1 { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 吕小医's BLOG!