谢谢oc level
获赞
6
粉丝
0
关注
4
看过 TA
17
门头沟学院
2022
游戏后端
IP属地:未知
暂未填写个人简介
私信
关注
2021-04-29 17:32
门头沟学院 游戏后端
0 点赞 评论 收藏
分享
2021-03-23 17:34
已编辑
门头沟学院 游戏后端
今天面试遇到的, 有64x64的网格,有1x3 3x3 1x1 这些大小的物件 求填充网格最少需要多少物件。
想要个offer都好难:直觉告诉我贪心最快,但应该还有其它方法。我现在想用动态规划写出来,先抛砖引玉说下思路吧,用dp[a,b]表示a x b网格下最少的物件数量,其中a<b。初始化dp[1,1]=1,dp[1,3]=1,dp[3,3]=1,dp[1,2]=2,dp[2,3]=2.....(就是把3x3方格的全部初始化就行) 处理好边界dp[1,n]=min((dp[1,n-1]+dp[1,1]),(dp[1,n-3]+dp[1,3]))。 处理好边界dp[2,n]=min((dp[2,n-1]+dp[1,2]),(dp[2,n-3]+dp[2,3]))。 于此同理处理dp[3,n]。 然后dp[m,n]=min((dp[m-1,n]+dp[1,n]),(dp[m-2,n]+dp[2,n],dp[m-3,n]+dp[3,n])。 按照这样递推就可以遍历所有的情况,不过复杂度很高,但是可以试用于其它各种情况。
0 点赞 评论 收藏
分享
关注他的用户也关注了:
牛客网
牛客企业服务