京东8.19笔试

A了两道,最后一道卡住了。

最后想出来的时候已经没时间了。

不知道下面这个方法对不对:有大佬帮忙看一下吗?

题目:皇后走棋盘,一次可以向右、向下、向右下走,棋盘有障碍物。求从左上角到右下角的最少步数。

n, m = map(int, input().split())
board = []
for _ in range(n):
    board.append(list(input()))

dp = [[float("inf")] * m for _ in range(n)]
if board[0][0] == ".":
    dp[0][0] = 0

for i in range(n):
    for j in range(m):
        if board[i][j] == "." and dp[i][j] != float("inf"):
            k = 1
			# 往右走
            while j+k < m and board[i][j+k] == ".":
                dp[i][j+k] = min(dp[i][j+k], dp[i][j]+1)
                k += 1
            k = 1
			# 往下走
            while i+k < n and board[i+k][j] == ".":
                dp[i+k][j] = min(dp[i+k][j], dp[i][j]+1)
                k += 1
            k = 1
			# 往右下走
            while i+k < n and j+k < m and board[i+k][j+k] == ".":
                dp[i+k][j+k] = min(dp[i+k][j+k], dp[i][j]+1)
                k += 1

print(-1) if dp[n-1][m-1] == float("inf") else print(dp[n-1][m - 1])

全部评论
动态规划,dp数组保存走到棋盘每一个格子最少的步数,由于可以向右,向下,向右下,那么状态转移方程就是min(左上➕1,左➕1,上➕1),被障碍物阻塞无法到达的点用0表示。所以dp数组一开始全初始化成0就行了。
1 回复 分享
发布于 2023-08-19 14:23 黑龙江
兄弟,试试光伏电池行业~
点赞 回复 分享
发布于 2023-09-21 07:31 浙江
这题需要三维dp,还有一维来记录有没有换方向
点赞 回复 分享
发布于 2023-08-22 13:27 广东
京东笔试题型是什么样的啊,还有选择题吗
点赞 回复 分享
发布于 2023-08-20 20:09 江苏
我用C++超时了,a了40%
点赞 回复 分享
发布于 2023-08-19 15:38 浙江
应该是三维dp吧,你只定义两维dp应该不对吧
点赞 回复 分享
发布于 2023-08-19 15:05 安徽

相关推荐

2025-11-28 11:13
门头沟学院 游戏策划
真顶不住了兄弟们…11&nbsp;月底了,秋招投了仨月,还是&nbsp;0offer,纯纯陪跑选手。从&nbsp;8&nbsp;月底就开始瞎忙活,前俩月还会为了面试挂掉崩溃到睡不着,现在心里早就没波澜了,跟一潭死水似的。不知道从啥时候起,也不焦虑了,就剩摆烂和逃避现实&nbsp;——&nbsp;简历不想改,面试题不想刷,连打开招聘软件的劲儿都没了。中间撑着我往下走的,其实是那点自我安慰:每次收到面试邀约,都告诉自己&nbsp;“挂了也没事,就当练手”,好歹能趁着准备的功夫捋捋项目逻辑,优化下面试话术,只要有进步,总能撞上一个机会。说实话也确实有点变化,从一开始一面就凉,到后来能冲进二面、三面,我还以为事情在往好的方向走…&nbsp;结果后面零星几个面试,又是一面挂、二面挂,无限循环。原来我以为的&nbsp;“进步”,根本就是自我感动的幻觉,说白了就是原地踏步。我到底收获啥了?面试还是那么拉胯,花了无数时间准备材料、练话术、做&nbsp;PPT,到最后连展示的机会都没有,每次都是不明不白被拒,纯属瞎忙活。现在彻底没面试邀约了,希望没了,动力也泄了,只剩下迷茫、麻木,还有点面试&nbsp;PTSD——&nbsp;一想到要面试就犯怵。我承认自己可能不够努力,但每次有机会的时候,我是真的拼尽全力去准备了啊。我还想再挣扎一下,还不想就这么放弃,但现在是真的没头绪了…&nbsp;到底还能做点啥,才能把这秋招的烂摊子盘活啊?
牛客77447303...:老哥没事,我去年双非硕没找到,今年毕业后这个月才接着找,半个月就找到了,给我的感觉就是企业都是需要尽快入职的(至少小企业是这样)。所以不要慌,毕业后社招也许能更快找到工作。
十一月总结
点赞 评论 收藏
分享
评论
2
4
分享

创作者周榜

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