当前位置: 首页 > news >正文

【每日一题】657. 机器人能否返回原点

657. 机器人能否返回原点 - 力扣(LeetCode)

在二维平面上,有一个机器人从原点 (0, 0) 开始。给出它的移动顺序,判断这个机器人在完成移动后是否在 (0, 0) 处结束

移动顺序由字符串 moves 表示。字符 move[i] 表示其第 i 次移动。机器人的有效动作有 R(右),L(左),U(上)和 D(下)。

如果机器人在完成所有动作后返回原点,则返回 true。否则,返回 false

注意:机器人“面朝”的方向无关紧要。 “R” 将始终使机器人向右移动一次,“L” 将始终向左移动等。此外,假设每次移动机器人的移动幅度相同。

示例 1:

输入: moves = "UD"
输出: true
解释:机器人向上移动一次,然后向下移动一次。所有动作都具有相同的幅度,因此它最终回到它开始的原点。因此,我们返回 true。

示例 2:

输入: moves = "LL"
输出: false
解释:机器人向左移动两次。它最终位于原点的左侧,距原点有两次 “移动” 的距离。我们返回 false,因为它在移动结束时没有返回原点。

class Solution {public boolean judgeCircle(String moves) {StringBuffer s = new StringBuffer(moves);int len = s.length();int x = 0,y = 0;for(int i = 0 ; i < len ; ++i) {switch(s.charAt(i)) {case 'U':y+=1;break;case 'D':y-=1;break;case 'L':x-=1;break;case 'R':x+=1;break;}}if(x!=0||y!=0) return false;return true;}
}

 这是一道简单题,根据题目可以很容易的发现只需要根据题目给出的方向进行模拟即可,即对机器人的走向使用x,y进行模拟,上下走动时,只对y有影响。左右走动时只对x有影响。并且最后的面向并不考虑,也就是只需要x,y都为0即为回到原位。对给出的字符串模拟即可。

题解的方法和博主的方法差不多,不过不需要转成StringBuffer就可以做了,博主用习惯了。

http://www.lryc.cn/news/156944.html

相关文章:

  • Java反射:探索对象创建与类信息获取
  • 【100天精通Python】Day55:Python 数据分析_Pandas数据选取和常用操作
  • f12工具
  • Spring MVC实现RESTful
  • ClickHouse配置Hdfs存储数据
  • zabbix监控网络设备和zabbix proxy
  • halcon双目标定双相机标定
  • Vue框架学习记录之环境安装与第一个Vue项目
  • 【DockerCE】Docker-CE 24.0.6正式版发布
  • 【管理运筹学】第 7 章 | 图与网络分析(1,图论背景以及基本概念、术语、矩阵表示)
  • 支持CAN FD的Kvaser PCIEcan 4xCAN v2编码: 73-30130-01414-5如何应用?
  • 经济2023---风口
  • JWFD开源工作流-矩阵引擎设计-高维向量空间分析法
  • WIN10访问Ubuntu的Samba
  • AbstractExecutorService 抽象类
  • Android12 ethernet和wifi共存
  • 记录使用layui弹窗实现签名、签字
  • 【AIGC系列】Stable Diffusion 小白快速入门课程大纲
  • 在kali环境下安装Beef-Xss靶场搭建
  • 【Apollo】自动驾驶技术的介绍
  • HTML emoji整理 表情符号
  • 【蒸汽冷凝器型号和PI控制】具有PID控制的蒸汽冷凝器的动力学模型(MatlabSimulink)
  • mall :hutool项目源码解析
  • 【网络编程】TCP传输控制协议(Transmission Control Protocol)
  • 云原生Kubernetes:kubectl管理命令
  • 前端面试的话术集锦第 5 篇:高频考点( 类型转换 深浅拷贝 模块化机制等)
  • 微服务·架构组件之网关
  • Google 开源库Guava详解
  • ISP——3A算法
  • Go语言入门指南