请问一下剑指offer上剪绳子的动态规划初始状态怎么设置的



长度为1的时候结果不应该是0,长度为2的时候结果不应该是1,长度为3时结果不应该是2吗?他的这个初始状态怎么得到的?
全部评论
注意题目的要求:n > 1,m > 1;所以当 n == 2 时,f[2] = 1 (这个时候你必须剪,因为 m > 1)。 但当 n > 2 时,f[2] 应该为 2 (这个时候就可以直接剪成长度为 2,因为 n 此时大于 2,已经可以保证 m > 1). 其他的同理。 而且你可以看到,在代码中对 0, 1, 2, 3 都是直接返回的。
点赞 回复 分享
发布于 2020-06-03 10:35
这个初值你不能当做是你把绳子剪完的乘积最大值,它应该是max(f[i],i).书中给的初值是没有问题的
点赞 回复 分享
发布于 2020-06-02 23:17
第二页
点赞 回复 分享
发布于 2020-06-02 22:16

相关推荐

06-04 09:27
门头沟学院 Java
点赞 评论 收藏
分享
炫哥_:为什么都读硕士了?项目还是网上的项目(真心发问)
最后再改一次简历
点赞 评论 收藏
分享
评论
2
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务