题目

在二维平面上,有一个机器人从原点 (0, 0) 开始。给出它的移动顺序,判断这个机器人在完成移动后是否在 (0, 0) 处结束。
移动顺序由字符串表示。字符 move[i] 表示其第 i 次移动。机器人的有效动作有 R(右),L(左),U(上)和 D(下)。如果机器人在完成所有动作后返回原点,则返回 true。否则,返回 false。
注意:机器人“面朝”的方向无关紧要。 “R” 将始终使机器人向右移动一次,“L” 将始终向左移动等。此外,假设每次移动机器人的移动幅度相同。
示例 1:
输入: “UD”
输出: true
解释:机器人向上移动一次,然后向下移动一次。所有动作都具有相同的幅度,因此它最终回到它开始的原点。因此,我们返回 true。
示例 2:
输入: “LL”
输出: false
解释:机器人向左移动两次。它最终位于原点的左侧,距原点有两次 “移动” 的距离。我们返回 false,因为它在移动结束时没有返回原点。
来源:力扣(LeetCode)

解题思路

  尝试想象一个笛卡尔坐标系,机器人初始的时候位于原点,然后我们遍历它的操作集合,模拟它的运动如果遍历结束后,判断机器人是否回到了坐标原点。

class Solution:def judgeCircle(self, moves: str) -> bool:location=[0,0]for i in moves:if i=='U':location[1]+=1if i=='R':location[0]+=1if i=='D':location[1]-=1if i=='L':location[0]-=1return location==[0,0]


  通过简单的模拟不难发现,其实机器人能否返回原点取决于它的操作集里相反的操作是否成对存在。

class Solution:def judgeCircle(self, moves: str) -> bool:return moves.count('U')==moves.count('D') and moves.count('R')==moves.count('L')

LeetCode简单题之机器人能否返回原点相关推荐

  1. [Leetcode][第657题][JAVA][机器人能否返回原点][数组][HashMap]

    [问题描述][简单] [解答思路] 遍历方向 看是否回到原点 或者 "上下" "左右"两个方向的数量是否相等 1. 方向 时间复杂度:O(N) 空间复杂度:O( ...

  2. LeetCode(657)——机器人能否返回原点(JavaScript)

    在二维平面上,有一个机器人从原点 (0, 0) 开始.给出它的移动顺序,判断这个机器人在完成移动后是否在 (0, 0) 处结束. 移动顺序由字符串表示.字符 move[i] 表示其第 i 次移动.机器 ...

  3. LeetCode简单题之排列硬币

    题目 你总共有 n 枚硬币,并计划将它们按阶梯状排列.对于一个由 k 行组成的阶梯,其第 i 行必须正好有 i 枚硬币.阶梯的最后一行 可能 是不完整的. 给你一个数字 n ,计算并返回可形成 完整阶 ...

  4. 川崎机器人怎样操作返回原点_leetcode之机器人能否返回原点

    序 本文主要记录一下leetcode之机器人能否返回原点 题目在二维平面上,有一个机器人从原点 (0, 0) 开始.给出它的移动顺序,判断这个机器人在完成移动后是否在 (0, 0) 处结束. 移动顺序 ...

  5. 657. 机器人能否返回原点

    2020-04-25 1.题目描述 机器人能否返回原点 2.题解 无 3.代码 class Solution { public:bool judgeCircle(string moves) {int ...

  6. LeetCode 657. 机器人能否返回原点

    文章目录 1. 题目 2. 解题 1. 题目 在二维平面上,有一个机器人从原点 (0, 0) 开始.给出它的移动顺序,判断这个机器人在完成移动后是否在 (0, 0) 处结束. 移动顺序由字符串表示.字 ...

  7. 力扣——机器人能否返回原点

    在二维平面上,有一个机器人从原点 (0, 0) 开始.给出它的移动顺序,判断这个机器人在完成移动后是否在 (0, 0) 处结束. 移动顺序由字符串表示.字符 move[i] 表示其第 i 次移动.机器 ...

  8. 657. Robot Return to Origin 机器人能否返回原点

    在二维平面上,有一个机器人从原点 (0, 0) 开始.给出它的移动顺序,判断这个机器人在完成移动后是否在 (0, 0) 处结束. 移动顺序由字符串表示.字符 move[i] 表示其第 i 次移动.机器 ...

  9. leetcode657. 机器人能否返回原点

    在二维平面上,有一个机器人从原点 (0, 0) 开始.给出它的移动顺序,判断这个机器人在完成移动后是否在 (0, 0) 处结束. 移动顺序由字符串表示.字符 move[i] 表示其第 i 次移动.机器 ...

最新文章

  1. python类_python类和对象
  2. opencv利用直方图判断人脸光照质量
  3. 信息系统项目管理师论文指导3/3
  4. 将json 填入表格_如何将Google表格用作JSON端点
  5. javaweb各种乱码问题处理
  6. 【渝粤教育】电大中专市场营销管理 (2)_1作业 题库
  7. 华为手机解锁码计算工具_手机计算器全线阵亡?小编实测苹果、华为、三星……...
  8. kaptcha——谷歌验证码工具
  9. PMP试题 | 每日一练,快速提分
  10. Android小项目:计算器
  11. 基于51单片机和GPS的经纬度时间速度航向系统设计定位电子罗盘原理图程序设计
  12. Autojs实战教程---番茄免费小说Apk文件和源码
  13. SQL语句中对时间字段进行区间查询
  14. 抖音中用小程序自动制作人物关系图
  15. 基于ATMEGA16单片机,MQ-3酒精传感器,LCD1602液晶显示的酒精浓度检测阈值报警仪
  16. 同一局域网下,一台电脑连接另一台电脑的虚拟机(从属机(window)连接主机(window)虚拟机(Linux)的连接流程)
  17. 夺命雷公狗---javascript NO:27 通过json调用12306查询车次信息
  18. unityar自动识别人脸_三款Unity插件带您玩转人脸识别与模拟
  19. 【计网实验报告】Cisco局域网模拟组建、简单网络测试
  20. Python入门基础篇 No.8 —— 时间的表示_unix时间点_毫秒_time模块

热门文章

  1. Python 标准库之 shutil
  2. c/c++ 如何输入带空格的字符串
  3. 【Spring】面向切面编程AOP
  4. Linux系统管理必备知识之利用ssh传输文件
  5. java转python
  6. BERT-Pytorch demo初探
  7. Python第三方包的egg info 是什么东西
  8. 使用汇编语言编写第一个程序
  9. 双圆弧插值算法(三,代码实现)
  10. 车载网络处理器带来多功能能力