题目链接:

思路:

参考https://leetcode-cn.com/problems/programmable-robot/solution/jian-dan-fang-fa-wu-hash-by-asver0521/

题目要求返回是否完好到达终点,而终点(x,y)0 <= x <= 1e9, 0 <= y <= 1e9,所以暴力算路径会超时。
所幸在于指令command是一种循环,实际上每一层循环的坐标都是第一次循环UR数量的倍数加上基础坐标。
这样就可以求得,只要任何一个obstacle在路径上,就可以输出false。
所以只用匹配每个obstacle是否在循环路径中。
变成了一道初中数学问题。
xn = nx + x1
yn = ny + y1
反向求解即可

def robot(self, command: str, obstacles: List[List[int]], x: int, y: int) -> bool:a, b = 0, 0path = [[0,0]]#第一次循环的路径,作为基础坐标(x1, y1)for v in command:if v == "U":b += 1else:a += 1path.append([a, b])#判断终点是否能到达if [x % path[-1][0] , y - ((x // path[-1][0]) * path[-1][1])] not in path:return False#判断ob在终点范围以内,再判断是否在循环路径中for ob in obstacles:if ob[0] <= x and ob[1] <= y:if [ob[0] % path[-1][0] , ob[1] - ((ob[0] // path[-1][0]) * path[-1][1])] in path:return Falsereturn True

**************************************************************************************************************************************

按照我一开始的思路用回溯法去做会超时。

回溯:

class Solution(object):def robot(self, command, obstacles, x, y):""":type command: str:type obstacles: List[List[int]]:type x: int:type y: int:rtype: bool"""return self.FindPath(command, obstacles, x, y, 0, 0, 0)def FindPath(self,command, obstacles, x, y, i, j, k):if i == x and j == y:return Trueif obstacles and [i,j] in obstacles:return Falseif k >= len(command):k = 0if command[k] == 'U':nxt = self.FindPath(command, obstacles, x, y, i, j+1, k+1)elif command[k] == 'R':nxt = self.FindPath(command, obstacles, x, y, i+1, j, k+1)return nxt

【LeetCode LCP 3】机器人大冒险相关推荐

  1. 2022-02-22:机器人大冒险。 力扣团队买了一个可编程机器人,机器人初始位置在原点(0, 0)。小伙伴事先给机器人输入一串指令command,机器人就会无限循环这条指令的步骤进行移动。指令有两种

    2022-02-22:机器人大冒险. 力扣团队买了一个可编程机器人,机器人初始位置在原点(0, 0).小伙伴事先给机器人输入一串指令command,机器人就会无限循环这条指令的步骤进行移动.指令有两种 ...

  2. 机器人大冒险(二维数组)

    题目: 力扣团队买了一个可编程机器人,机器人初始位置在原点(0, 0).小伙伴事先给机器人输入一串指令command,机器人就会无限循环这条指令的步骤进行移动.指令有两种: U: 向y轴正方向移动一格 ...

  3. bulter机器人_科普!九款使用率最高的物流机器人大盘点!

    原标题:科普!九款使用率最高的物流机器人大盘点! 说起快递的速度,中国可谓是跑在全球前列,因为强大的人力资源以及完善的供应链结构,导致整个运作过程很流畅快速.但是,如果在特殊的节点,即使增加成倍的快递 ...

  4. 领域应用 | 基于知识图谱的警用安保机器人大数据分析技术研究

    本文转载自公众号:警察技术杂志. 郝久月  樊志英   汪宁   王欣   摘   要:构建大数据支撑下的智能应用是公安信息化发展的趋势,警用安保机器人大数据分析平台的核心功能包括机器人智能人机交互和 ...

  5. 曾辉机器人_武昌理工学子在2020年中国机器人大赛中夺冠

    "它在过弯的时候非常稳,而且速度快,跑完一圈的时间比第二名少十秒左右."武昌理工学院学生余辉激动地说.11月27日从武昌理工学院获悉,在刚刚结束的2020中国机器人大赛中,武昌理工 ...

  6. 机器人擂台的利剑_机器人大擂台2017

    机器人大擂台2017下载!机器人大擂台2017视频是首个机器人对战节目!机器人大擂台2017最新一集播出了,提供机器人大擂台2017,欢迎下载机器人大擂台2017! 机器人大擂台 <机器人大擂台 ...

  7. 江苏机器人竞赛南航_南航金城学院学子在第十届江苏省机器人大赛中获佳绩

    摘要: 南航金城学院学子在第十届江苏省机器人大赛中获佳绩为你介绍2020年10月25-27日,由省教育厅.省科学技术协会和江苏省自动化协会联合举办的第十届江苏省大学生机器人大赛在三江... 2020年 ...

  8. 机器人擂台的利剑_童年回忆!机器人大擂台回来了!还记得当年的利箭吗?

    原标题:童年回忆!机器人大擂台回来了!还记得当年的利箭吗? 80后,90后的朋友们,还记得小时候电视上放的一档节目吗?在一个封闭的擂台上,两个机器人肉搏,一方把另一方打报废为止,选手脑洞大开设计各种机 ...

  9. ⭐算法入门⭐《二分枚举》简单15 —— LeetCode LCP 18. 早餐组合

    文章目录 一.题目 1.题目描述 2.基础框架 3.原题链接 二.解题报告 1.思路分析 2.时间复杂度 3.代码详解 三.本题小知识 四.加群须知 一.题目 1.题目描述   小扣在秋日市集选择了一 ...

  10. 拟真机器人拯救者奖励_《冒险岛》新版本上线,拟真机器人大逃亡一触即发!...

    经典端游<冒险岛>中的"美人梦工厂"系列一直是玩家们津津乐道的副本之一,除了它有趣的玩法和较难的操作之外,引人入胜的剧情是它成功的关键.5月13日,"美人梦工 ...

最新文章

  1. kettlejava脚本的api_Java调用自己开发的Kettle plugin插件
  2. 如何用eclispe远程调试tomcat--转载
  3. [云炬创业管理笔记]第三章测试3
  4. PostgreSQL 数据类型
  5. UVA 11991——Easy Problem from Rujia Liu?
  6. Mysql 学习总结(86)—— Mysql 的 JSON 数据类型正确使用姿势
  7. Windows xp下IDT Hook和GDT的学习
  8. 简单的Verilog测试模板结构
  9. Java使用word模板生成多个word文件,并导出一个zip压缩包
  10. android获取SIM卡信息和手机号码
  11. 简易网页版进程管理器(支持手机管理电脑进程)
  12. 纯CSS实现瀑布流布局
  13. Solr Facet
  14. python-Counter计数函数以及most_common函数
  15. php 随即英文,PHP生成随机英文用户名
  16. C++实现分数的四则运算
  17. 【算法详解】splay的初步了解
  18. 修改el-Badge 标记 content的位置
  19. 慧眼舆情热词分析架构简述
  20. 海思3531添加移远EC20 4G模块

热门文章

  1. pandas 数据类型之 DataFrame
  2. CTU Open Contest 2019 J. Beer Vision
  3. 「2020总结文章」一起回顾 2020,展望 2021(JesksonUI-UniApp)
  4. 廊坊金彩教育:拼多多运营方案
  5. 每天学点Vue,学习笔记---DAY4
  6. 无损检测行业市场发展机遇分析及市场规模竞争战略可行性研究预测
  7. c#winform——Gobang五子棋简易版双人对战制作(基本结构+代码)
  8. RocketMQ源码解析之消息生产者(获取topic路由信息)
  9. 【Keil】十字路口车辆行人红绿灯实现 _单片机Keil开发
  10. el-collapse用法