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



长度为1的时候结果不应该是0,长度为2的时候结果不应该是1,长度为3时结果不应该是2吗?他的这个初始状态怎么得到的?
全部评论
第二页
点赞
送花
回复
分享
发布于 2020-06-02 22:16
这个初值你不能当做是你把绳子剪完的乘积最大值,它应该是max(f[i],i).书中给的初值是没有问题的
点赞
送花
回复
分享
发布于 2020-06-02 23:17
滴滴
校招火热招聘中
官网直投
注意题目的要求: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

相关推荐

头像
04-09 14:29
Java
点赞 评论 收藏
转发
头像
03-18 09:09
Java
点赞 评论 收藏
转发
2 1 评论
分享
牛客网
牛客企业服务