题目来自LeetCode,个人刷题学习笔记,网址链接https://leetcode-cn.com/problems/programmable-robot

题目

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

U: 向y轴正方向移动一格
R: 向x轴正方向移动一格。
不幸的是,在 xy 平面上还有一些障碍物,他们的坐标用obstacles表示。机器人一旦碰到障碍物就会被损毁。

给定终点坐标(x, y),返回机器人能否完好地到达终点。如果能,返回true;否则返回false。

限制:

2 <= command的长度 <= 1000
command由U,R构成,且至少有一个U,至少有一个R
0 <= x <= 1e9, 0 <= y <= 1e9
0 <= obstacles的长度 <= 1000
obstacles[i]不为原点或者终点

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/programmable-robot
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

示例 :

输入:command = "URR", obstacles = [], x = 3, y = 2
输出:true
解释:U(0, 1) -> R(1, 1) -> R(2, 1) -> U(2, 2) -> R(3, 2)。
示例 2:

输入:command = "URR", obstacles = [[2, 2]], x = 3, y = 2
输出:false
解释:机器人在到达终点前会碰到(2, 2)的障碍物。

解题思路

看到这么个题,上来不管三七二十一,实现了再说。在方法中拿到command的元素,判断坐标是x增长还是y增长,每次增长完成后做三个判断

1-是否碰到障碍物

2-是否达到终点

3-是否超出终点范围

Python代码如下

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"""origin = [0,0] #x,yrtype = Falsewhile 1<2:#URRfor i in command:if i == 'U':origin[1] += 1else:origin[0] += 1#check obstaclesfor i in obstacles:if origin[0] == i[0] and origin[1] == i[1]:return False#check destinationif origin[0] == x and origin[1] == y:return True#check out of rangeif origin[0] > x and origin[1] > y:return False

写完了仔细检查一下,嗯,逻辑没问题。执行走起~

不出所料,第一次执行的结果跟我预期的一定是不通的。执行结果为: 超出时间限制。回去看了下题目中的限制。x和y的值都是在一个很大的范围内。虽然逻辑简单,但按照初始的想法一步一步去试显然是不行的。

怎样能提高效率呢?

待完善,先保存。。。

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. 拟真机器人拯救者奖励_《冒险岛》新版本上线,拟真机器人大逃亡一触即发!...

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

  10. 曾辉机器人_武汉大学生设计研发“机器狗” 在中国机器人大赛中夺冠

    武昌理工学院参赛代表队"晨旭队",由该校人工智能学院机器人协会的4名同学组成,分别是软工1803班余辉.计科1805班刘宗文.软工1901班李佳娆.智能1902班嵇然.队伍指导老师 ...

最新文章

  1. ThinkPHP 5.0 入门教程 一:安装ThinkPHP并在Web浏览器访问
  2. ubuntu 修改hostname
  3. 搞定Go单元测试(三)—— 断言(testify)
  4. 对口计算机选什么专业,想从事人工智能行业,考研选什么专业对口?
  5. Django项目知识点(二)
  6. 二叉树的层序遍历,前序遍历(递归,非递归),中序遍历(递归,非递归),后续遍历(递归,非递归)
  7. 前端学习(2686):重读vue电商网站7之登录预校验
  8. python sqlite3 增删改查(最基本的增删改查)
  9. 《深入浅出DPDK》读书笔记(八):网卡性能优化(异步中断模式、轮询模式、混和中断轮询模式)
  10. 横向滚动条并且隐藏竖向滚动条
  11. scut协议配置工具初始化的一些问题
  12. if __name__ == __main___一文搞懂 if __name__ == #39;__main__#39;
  13. 迅捷cad_迅捷数组
  14. 单列变双列css_css – 右对齐双列布局丢失水平滚动条
  15. 网络信息安全风险评估
  16. 阿里云和腾讯云全方位对比
  17. 程序员的简历应该如何写?(含模拟面试,持续更新)
  18. Scrapy翻页爬取示例——列表页、详情页
  19. Sulley fuzzer learning
  20. 优炫数据库携手兆芯发布数据库解决方案

热门文章

  1. 杭州生活小指南-公园卡-寺庙年卡
  2. background的使用方法
  3. InnoDB一棵B+树可以存放多少行数据?
  4. 基于51单片机的智能窗口控制系统(protues仿真+程序+论文+PPT+PCB)
  5. laas和saas_什么是IaaS,PaaS和SaaS及其区别
  6. Spread 16.0 for WinForms Crack
  7. win10系统连接不上服务器,win10系统电驴连接不上服务器的解决方法
  8. kafka接口操作topic
  9. Python初学者之路--range函数、切片、if-elif语句
  10. 怎样用硬盘启动计算机,电脑新增了硬盘,在bios中怎么设置硬盘启动,来看看具体操作步骤...