首页 > 其他分享 >机器人能否返回原点

机器人能否返回原点

时间:2024-02-15 11:24:44浏览次数:23  
标签:返回 移动 return 原点 int 机器人 moves

在二维平面上,有一个机器人从原点 (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每行的索引。

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;
}

标签:返回,移动,return,原点,int,机器人,moves
From: https://www.cnblogs.com/mooysy/p/18016073

相关文章

  • 单例模式(设计一个类,这个类只允许通过方法返回一个对象)
    1什么是单例模式2实现步骤3饿汉单例模式急汉子,娃娃亲,类一加载,对象就创建了。3.1为什么叫饿汉式?类被加载时,对象就被创建了。(太饿了,所以先创建?)常常创建的对象是重量级的对象,如果不用会造成资源浪费。3.2步骤3.3代码举例4懒汉单例模式调用静态方法才创建,考......
  • `resp.text` 和 `resp.json()` 是处理 `requests` 库返回的响应对象中的两个不同方法,
    resp.text和resp.json()是处理requests库返回的响应对象中的两个不同方法,用于获取服务器响应的内容。它们的区别在于:resp.text:resp.text返回响应的内容作为字符串。适用于任何响应内容,无论响应内容是HTML、JSON、XML还是纯文本。如果响应内容是JSON格式,可以使用resp.tex......
  • useEffect 传入的函数,它的返回值要么是一个方法(清理函数),要么就是undefined,其他情况都
    useEffect传入的函数,它的返回值要么是一个方法(清理函数),要么就是undefined,其他情况都会报错比较常见的一个情况是,我们的useEffect需要执行一个async函数,比如://❌//Type'Promise<void>'providesnomatch//forthesignature'():void|undefined'useEffect(asyn......
  • 给淘宝店铺接入第三方客服机器人需要花多少钱?
    在电商时代,淘宝卖家们都在追求高效率且低成本的运营模式。客服支出一直是我们店铺运营中一个不小的开销,同时快速响应顾客咨询又显得至关重要。许多卖家将目光转向了第三方GPT客服机器人,以期望通过自动化技术提高回复率并降低人力成本。然而,有的供应商一个店铺一年也就二三百,而有......
  • spring boot controller设置返回json
    在SpringBoot中,Controller通常会返回JSON格式的数据,这得益于SpringBoot的自动配置能力以及内嵌的Jackson库。以下是如何设置Controller返回JSON数据的基本步骤:添加依赖:首先,确保你的项目中包含了SpringBoot的WebStarter依赖,它已经包括了Jackson库,用于处理JSON序列化。<dependen......
  • 2023机器人年度集锦:创新潮涌不断,火热新品回顾!
    原创|文BFT机器人近年来,随着科技的不断进步和市场需求的日益增长,机器人行业一直处于飞速发展的轨道,在短时间内取得了显著的成果。到了2023年,这一行业迎来了一股创新潮涌,企业们纷纷加速研发,推出了一系列令人瞩目的新产品。这不仅标志着我国机器人行业的崛起,也预示着未来市场竞争......
  • java 关于有序获取多线程的返回结果问题,按提交任务的顺序,收集执行结果
    问题:以前做的多线程,执行的返回结果都是无序的,所以每次执行完毕后还要对结果集重新进行排序,增加了耗时; 今天突然想到一个思路,在给线程池提交任务的时候,可以提前获取任务总数,创建一个用于接收结果集的固定大小list2,然后子线程执行的时候把当前任务序号传进去,处理好数据后根据序号......
  • Springboot在编写CRUD时,访问对应数据函数返回null
    1.我遇到了什么问题我在学习springboot,其中在编写CRUD时发现访问数据的函数执行下去返回值是null但是其它部分正常。下面是我的错误代码pojopublicclassBot{@TableId(type=IdType.AUTO)privateIntegerid;privateIntegeruser_id;privateStr......
  • 淘宝/天猫商品详情API:返回值参数详解及商业逻辑实现
    在电子商务的高速发展过程中,API接口扮演了至关重要的角色。对于淘宝和天猫这样的大型电商平台,商品详情API是商家与消费者信息沟通的桥梁。本文将深入探讨这一API的返回值参数,并展示如何通过编程利用这些数据实现商业逻辑。一、商品详情API的核心作用商品详情页是电商体验中的重要环......
  • cloudreve中的通用返回对象的处理
    cloudreve中的通用返回对象的处理包名:serializer基础化的响应结构体//Response基础序列化器typeResponsestruct{Codeint`json:"code"`Datainterface{}`json:"data,omitempty"`Msgstring`json:"msg"`Error......