摘要: 同上一篇剪绳子,题目不同点在于 n 的范围变大,当n过大时,乘积结果过大会导致溢出。 因此不能直接使用动态规划求解。 如果在上题中的动态规划中加入大数运算,虽然能得到结果,但效率过低,如下图所示: 如果使用上题中的数学方法解题,能正常得出结果,代码如下: class Solution { publi 阅读全文
posted @ 2021-02-21 14:24 zjcfrancis 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 思路: 1.动态规划 首先想到的肯定是暴力解法,将所有情况列举出来再计算,时间复杂度O(2^n),很明显这种做法会超时。 如何改进暴力解法呢?在计算时会发现暴力解法实际上是将求解F(n)的问题分解成求解F(n-1)的问题。 由此可以使用动态规划的解法。 定义一个数组dp,其中 dp[i] 表示的是长 阅读全文
posted @ 2021-02-21 13:41 zjcfrancis 阅读(46) 评论(0) 推荐(0) 编辑