关注
class Solution:
def move(self, n, x1, y1, z1, x2, y2, z2) -> bool:
if x1 + y1 + z1 != x2 + y2 + z2:
return False
x1, y1, z1 = sorted((x1, y1, z1))
x2, y2, z2 = sorted((x2, y2, z2))
if x1 == x2 and y1 == y2:
return True
if x2 % 3 == y2 % 3 == z2 % 3:
return False
mymap = set()
mylist = [(x1, y1, z1)]
while mylist:
x, y, z = mylist.pop()
if x == x2 and y == y2:
return True
if (x, y) not in mymap:
mymap.add((x, y))
for (x, y, z) in [(x, y, z), (x, z, y), (y, x, z), (y, z, x), (z, x, y), (z, y, x), ]:
if 0 <= 2 * y - x + 1 <= n and 0 <= 2 * x - y - 1 <= n:
x, y, z = sorted((2 * y - x + 1, 2 * x - y - 1, z))
if (x, y) not in mymap:
mylist.append((x, y, z))
return False
本地运行,n=3000 坐标1500左右,时间3.4s
查看原帖
点赞 4
相关推荐
02-06 18:04
兰州理工大学 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 牛客新年AI问运 #
14712次浏览 168人参与
# 记录实习开销 #
183207次浏览 739人参与
# 牛客AI体验站 #
17988次浏览 305人参与
# 大家每天通勤多久? #
82269次浏览 604人参与
# 正在实习的你,几点下班 #
295618次浏览 1978人参与
# 牛客租房专区 #
152571次浏览 1527人参与
# 你小时候最想从事什么职业 #
154106次浏览 2059人参与
# 不给转正的实习,你还去吗 #
2624685次浏览 22817人参与
# 有转正机会的小厂实习值得去吗? #
984次浏览 21人参与
# 你最讨厌面试被问什么 #
1754次浏览 27人参与
# 你觉得今年秋招难吗 #
1988378次浏览 18492人参与
# 如何缓解入职前的焦虑 #
259299次浏览 1457人参与
# 校招入职后的感受 #
487872次浏览 3681人参与
# 金融银行求职进展汇总 #
309530次浏览 1685人参与
# 国庆放假,你还会投简历吗? #
47860次浏览 214人参与
# 秋招的破防瞬间 #
509223次浏览 2606人参与
# 春节回家,你最想让 AI 帮你解决哪件事? #
951次浏览 19人参与
# 毕业论文进行时 #
29066次浏览 156人参与
# 这份实习,有没有动摇过你的职业方向? #
2525次浏览 40人参与
# 毕业后不工作的日子里我在做什么 #
239357次浏览 1697人参与
查看15道真题和解析