首页 > 其他 > 详细

字节跳动面试题:动态规划

时间:2021-04-08 10:15:28      阅读:24      评论:0      收藏:0      [点我收藏+]

题目

一个环有0~9十个点,起点为原点,每步向左或向右一步,问k步返回原点的走法n

解法:动态规划

状态:dp(k,j): 表示从点 j 走 k 步到达原点 0 的方法数

所以是一个二维的动态规划

从第k-1步到第k步有动态转移方程:dp(kjdp(k?1j?1dp(k?1j+1)

考虑到是环的问题,改成:dp(kjdp(k?1(j?1+n)%ndp(k?1(j+1)%n)

因此时间复杂度是O(k*n)

考虑到dp(k) 只与dp(k-1)有关 ,所以空间复杂度O(n)就够了

 

 

 

参考链接:(代码也参考此链接)

https://blog.csdn.net/weixin_41888257/article/details/108705557

 

 

字节跳动面试题:动态规划

原文:https://www.cnblogs.com/sbj123456789/p/14630439.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!