查看: 1550| 回复: 1
跳转到指定楼层
上一主题 下一主题
收起左侧

[Leetcode] 请教关于LC 489 Robot Room Cleaner 的direction的问题

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
本帖最后由 bighuyou 于 2020-8-24 14:54 编辑

我想了一晚上,外加各种试验,还是没明白为什么要track robot的面向的direction
为什么不能只loop {-1, 0}, {0, 1}, {1, 0}, {0, -1},而要每次backTrack时首先要试着往同一个方向走
就比如如果robot 从左向右移动一格之后,进入新的backTrack, 面向右边。此时如果不track direction的话第一个移动是{-1, 0}, 也就是往上移动。此时robot.move() = true,为啥是true。啊好抽象




补充内容 (2020-8-24 23:21):
我昨晚在群里请教了大神总结一下为什么:
比如我举个例子,robot面向右,我们却给了row - 1, col不变的指令。这时候robot.move() 在我们看不见的room上是向右移动了的,因为robot如果不旋转,move()只会像面向的方向走一格。也就是说,我们不track direction的话,我们记录的那份path和真正的path是不一样的,也就是lost track了。需要direction的最根本的原因还是因为room并没有expose给我们。

上一篇:无系统设计基础如何应对面试?必要上 educative.io 吗?
下一篇:LeetCode 543 求解。为何不是 Left + Right + 1
全局:
这道题就是dfs,题目说了机器人没有眼睛,要撞一次墙才知道原来前面确实有墙不能走了,再换个方向继续走。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表