7.31科大讯飞笔试研发算法题第三题障碍

第三题也是3.85,后来想了一下这个特例
.  . # . . .
# . . . # .
# ### # .
返回值应该是0
有一个想法,用二维动态规划做,表示到达当前点的最小障碍数;
首先需要从[0,0]做dfs,找出一个无障碍可直接到的通道,即步数为0;
然后循环判断dp=min(上,下,左,右)(+1)根据该处是否有障碍判断是否需要+1;
最后输出dp[M][N]的答案;
#科大讯飞2021秋招提前批##科大讯飞##笔经#
全部评论
动态规划的问题,当前状态可以由上下左右四个状态转移,你只能保证上左是更新完毕的而下右不行。可以用一个优先队列存储当前的x y坐标和移出障碍物的数量,用类似贪心的方式去做,输出一个到达右下角的障碍物数量就可以了。
2 回复 分享
发布于 2021-08-01 09:59
dfs怎么可以得到最短步数呢,不应该是bfs吗? A*搜索一下就可以了
1 回复 分享
发布于 2021-08-12 16:55
自从我测试了过了,但是结果还是3.85
点赞 回复 分享
发布于 2021-07-31 22:38
这种
点赞 回复 分享
发布于 2021-07-31 22:38
第二题是怎么做的
点赞 回复 分享
发布于 2021-07-31 22:39
我改到最后都是100+66+3.85,最后一道我是写的bfs,抓破脑袋没想出来啥毛病
点赞 回复 分享
发布于 2021-07-31 23:29
我也是优先队列66,不知道例子是啥数据😂
点赞 回复 分享
发布于 2021-07-31 23:57
dfs复杂度是多少
点赞 回复 分享
发布于 2021-08-01 00:12
请问笔试都有什么题型
点赞 回复 分享
发布于 2021-08-12 17:06

相关推荐

评论
1
9
分享
牛客网
牛客企业服务