Leetcode每日一题 —— 874. 模拟行走机器人

2026-04-11 11:330阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐
问题描述:
力扣 LeetCode

874. 模拟行走机器人 - 力扣(LeetCode)

874. 模拟行走机器人 - 机器人在一个无限大小的 XY 网格平面上行走,从点(0, 0) 处开始出发,面向北方。该机器人可以接收以下三种类型的命令 commands : * -2 :向左转90 度 * -1 :向右转 90 度 * 1 <= x <= 9 :向前移动x个单位长度 在网格上有一些格子被视为障碍物obstacles 。第 i个障碍物位于网格点 obstacles[i] = (xi, yi)...

思路

可以发现每一步最多只会走 9 步,因此模拟完全是 OK 滴 ദ്ദി(˵ •̀ ᴗ - ˵ ) ✧。用哈希表标记障碍物后逐步判断是否与障碍物相撞即可。

注意左转和右转时的坐标变换,左转和右转都会交换 X 和 Y 方向上的行进增量,区别在于左转后 X 方向增量取负、右转是 Y 方向增量取负。

如果这题每次走的步数可以很大,那就麻烦了,可能涉及到二分,在范围内查询点。