机器人能否返回原点

这篇具有很好参考价值的文章主要介绍了机器人能否返回原点。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在二维平面上,有一个机器人从原点 (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,因为它在移动结束时没有返回原点。

提示:

  • 1 <= moves.length <= 2 * 104
  • moves 只包含字符 'U', 'D', 'L' 和 'R'

思路:
使用一个二维数组dir表示移动方向,然后使用switch将字符串映射为dir每行的索引。文章来源地址https://www.toymoban.com/news/detail-825025.html

int map(char ch){
    switch(ch){
        case 'U':
            return 0;
        case 'R':
            return 1;
        case 'D':
            return 2;
        case 'L':
            return 3;
        default:
            return 0;
    }
}
bool judgeCircle(char* moves) {
    int dir[][2] = {{1,0},{0,1},{-1,0},{0,-1}};
    int row = 0,col = 0;
    for(int i=0;moves[i]!='\0';i++){
        int idx = map(moves[i]);
        row+=dir[idx][0];
        col+=dir[idx][1];
    }
    if(row!=0||col!=0){
        return false; 
    }
    return true;
}

到了这里,关于机器人能否返回原点的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • (微信机器人)小程序转二维码,给微信机器人发送小程序生成二维码,打开H5页面跳转到小程序

    最早知道这个需求的时候是一个朋友说的,然后研究了一番,后来发现也没那么难,符合相关的规范就可以了。 本来就有获取微信appid和pagepath的功能了,感觉转成二维码应该不难。 主要是符合这个要求,目录 | 微信开放文档 1、在需要调用 JS 接口的页面引入如下 JS 文件:

    2024年02月14日
    浏览(54)
  • 观察级水下机器人使用系列之四二维前视声纳

    本文主要讲观察级水下机器人Valor配套的二维前视声纳,它与超短基线定位、摄像头都是水下机器人导航的重要部件。二维声纳是Tritech公司生产的,型号为Gemini 720is。 ​编辑​ Gemini 720is主要技术参数见下表。 Gemini 720is通过一条蓝色的缆与机器人的电子舱USP9连接。 水下机器

    2024年02月14日
    浏览(40)
  • python机器人编程——用python实现一个写字机器人

    本篇我们构建一个可以跟人一样写字的机器人python软件。实现如下功能:打开一个写字板,人类在屏幕上写或画出任意形状,机器人同步在纸面上画出和人类一样的形状,就好像人类在远程操控机械臂,又或是机械臂是人的另一只手。这个软件是可以扩展的,如果连上互联网

    2024年02月05日
    浏览(47)
  • 5.如何利用ORBSLAM3生成可用于机器人/无人机导航的二维/三维栅格地图--以octomap为例

            这里我们用ROS自带的安装方式即可:         如上图就是安装成功了:         如果安装失败了,尝试用小鱼ROS换一下源再去安装:         一些官方的文档如下,大家感兴趣可以学习一下: https://octomap.github.io/octomap/doc/index.html#gettingstarted_sec https://oct

    2024年02月03日
    浏览(43)
  • 制作一个Python聊天机器人

    我们学习一下如何使用 ChatterBot 库在 Python 中创建聊天机器人,该库实现了各种机器学习算法来生成响应对话,还是挺不错的 聊天机器人也称为聊天机器人、机器人、人工代理等,基本上是由人工智能驱动的软件程序,其目的是通过文本或语音与用户进行对话。 我们日常接触

    2024年01月19日
    浏览(67)
  • 3dsmax制作一个机器人

    2024年02月16日
    浏览(41)
  • matlab中画有重影的机器人运动过程【给另一个机器人设置透明度】

    1、前言如题 2、参考连接如下 How to plot two moving robot in the same figure and change one of them transparency? - MATLAB Answers - MATLAB Central (mathworks.cn)3、代码:【找到figure中对应对象并设置属性】 4、结果【同样的轨迹,实影的先运动几个步数,虚影后续运动】    

    2024年02月17日
    浏览(51)
  • 6.如何利用LIO-SAM生成可用于机器人/无人机导航的二维/三维栅格地图--以octomap为例

    目录 1 octomap的安装 2 二维导航节点的建立及栅格地图的构建 3 三维栅格地图的建立         这里采用命令安装:         这样子就是安装好了。         我们进入liosam的工作空间下的launch文件夹:         新建一个launch文件,就叫octomap2D.launch         将下面的

    2024年01月16日
    浏览(49)
  • 使用Streamlit 实现一个聊天机器人界面

    效果如下: 只需要效果generate_llama2_response 为你的 llm的输出即可。

    2024年03月09日
    浏览(89)
  • 搭建一个 MidJourney-微信群机器人

    知数云 MJ 微信群机器人,调用 Midjourney Imagine API 进行画图。 市面上价值XXXX的 MidJourney 微信群机器人,且用且珍惜。 需求 :mytimerun。 wechaty_puppet_service_token = “环境变量” zhishuyun_chatgpt_35_token = “GPT API 接口的 token” zhishuyun_midjourney_token = “MJ API 接口的 token” 执行代码前先设

    2024年02月16日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包