LeetCode题解(LCP03):机器人大冒险(Python)
题目:原题链接(中等)
标签:几何、数学
解法 | 时间复杂度 | 空间复杂度 | 执行用时 |
---|---|---|---|
Ans 1 (Python) | O(N+M)O(N+M)O(N+M) : 其中N为命令长度,M为障碍数量 | O(M)O(M)O(M) | 28ms (99.58%) |
Ans 2 (Python) | |||
Ans 3 (Python) |
解法一:
class Solution:def robot(self, command: str, obstacles: List[List[int]], x: int, y: int) -> bool:def count(i, j):t1, t2 = i // x1, j // y1if abs(t1 - t2) <= 1:t = min(t1, t2)return i - t * x1, j - t * y1else:return -1, -1# 计算一个周期x1, y1 = 0, 0for ch in command:if ch == "U":y1 += 1else:x1 += 1# 处理在周期范围之外的情况x4, y4 = count(x, y)if x4 == -1:return False# 将障碍换算到循环周期中circle_obstacles = set()for x2, y2 in obstacles:# 只保留周期内的障碍物xx, yy = count(x2, y2)if xx != -1 and x2 <= x and y2 <= y:circle_obstacles.add((xx, yy))# print(circle_obstacles)# 处理循环周期中的情况x3, y3 = 0, 0arrive = Falsefor ch in command:# print((x3, y3), "Target:", (x4, y4), "Condition:", (x3, y3) in obstacles)if (x3, y3) == (x4, y4):arrive = Trueif (x3, y3) in circle_obstacles:return Falseif ch == "U":y3 += 1else:x3 += 1return arrive
LeetCode题解(LCP03):机器人大冒险(Python)相关推荐
- 2022-02-22:机器人大冒险。 力扣团队买了一个可编程机器人,机器人初始位置在原点(0, 0)。小伙伴事先给机器人输入一串指令command,机器人就会无限循环这条指令的步骤进行移动。指令有两种
2022-02-22:机器人大冒险. 力扣团队买了一个可编程机器人,机器人初始位置在原点(0, 0).小伙伴事先给机器人输入一串指令command,机器人就会无限循环这条指令的步骤进行移动.指令有两种 ...
- LeetCode题解(0733):油漆桶工具实现(Python)
题目:原题链接(简单) 解法 时间复杂度 空间复杂度 执行用时 Ans 1 (Python) O ( N ) O(N) O(N) O ( N ) O(N) O(N) 84ms (96.92%) Ans ...
- LeetCode题解(0625):最小因式分解(Python)
题目:原题链接(中等) 标签:数学.递归.贪心算法 解法 时间复杂度 空间复杂度 执行用时 Ans 1 (Python) O(logN)O(logN)O(logN) O(1)O(1)O(1) 44ms ...
- LeetCode题解(0741):摘樱桃(Python)
题目:原题链接(困难) 标签:动态规划.记忆化递归 解法 时间复杂度 空间复杂度 执行用时 Ans 1 (Python) O(N3)O(N^3)O(N3) O(N3)O(N^3)O(N3) 436ms ...
- LeetCode题解(1834):单线程CPU(Python)
题目:原题链接(中等) 标签:堆.排序 解法 时间复杂度 空间复杂度 执行用时 Ans 1 (Python) O ( N l o g N ) O(NlogN) O(NlogN) O ( N ) O(N ...
- LeetCode题解(1279):红绿灯路口(Python)
题目:原题链接(简单) 标签:多线程 解法 时间复杂度 空间复杂度 执行用时 Ans 1 (Python) O(N)O(N)O(N) O(1)O(1)O(1) 52ms (88.89%) Ans 2 ...
- LeetCode题解(1728):猫和老鼠II(Python)
题目:原题链接(困难) 标签:动态规划 解法 时间复杂度 空间复杂度 执行用时 Ans 1 (Python) – – 520ms (96.20%) Ans 2 (Python) Ans 3 (Pyth ...
- LeetCode题解(1217):黄金矿工(Python)
题目:原题链接(中等) 标签:回溯算法.深度优先搜索 解法 时间复杂度 空间复杂度 执行用时 Ans 1 (Python) O((MN)2)O((MN)^2)O((MN)2) O(M×N)O(M×N) ...
- LeetCode题解(0855):考场就座(Python)
题目:原题链接(中等) 标签:有序映射 解法 时间复杂度 空间复杂度 执行用时 Ans 1 (Python) seat = O ( N ) O(N) O(N) ; leave = O ( N ) O( ...
- LeetCode题解(0403):青蛙过河(Python)
题目:原题链接(困难) 标签:动态规划 解法 时间复杂度 空间复杂度 执行用时 Ans 1 (Python) O ( N ) O(N) O(N) O ( N ) O(N) O(N) 204ms (71 ...
最新文章
- Redis3.0 配置文件说明
- 皮一皮:今年的网友不够优秀啊。。。
- 揭秘!Greenplum并行执行引擎到底是如何工作的?
- solaris 10安装Oracle10.2g
- 《天天数学》连载45:二月十四日
- C++設計模式——策略模式
- 触动精灵将图片转成base64字符串后通过post方式上传给服务器
- 关于使用中如何实现数据的筛选的问题
- C语言struct 函数,C语言结构体史上最详细的讲解
- 世界读书日之后聊聊读书
- 可行性研究报告【列文】2022-5.6
- 小白科研笔记:简析SOTA目标检测算法3D-CVF
- 嵌入式编程规范与原则
- 国内智能硬件和物联网行业研发人员的城市分布图
- 每日一练20210706
- ACM:搜索算法专题(1)——24点
- 有服务器风扇声音对胎儿有影响吗,怀孕期间长时间噪音对胎儿的影响有哪些
- android 键盘弹出时会将view里面的内容顶上去
- picturebox显示服务器图片大小,WinForm中实现picturebox自适应图片大小的方法
- 使用Java实现发送微信消息(附源码)_此程序在手再也不怕对象跟你闹了
热门文章
- 有一个Map集合里面存储的是学生的姓名和年龄,内容如下{赵四=21,王二=17,张三=18,小丫=25,李四=26,王五=38}(15分) 	 * a.将里面的元素用两种遍历方式打印到控制台上 	 *
- 纯前端 HTML+JS版, Vue.js版 二维码:生成、扫描、识别、解析、扫一扫
- 阿里云-密钥管理系统密钥导入功能
- 15、Java基础---继承和访问属性
- 多模光纤与单模光纤熔接及用哪种光模块的问题。
- 深度学习 黑白图片 着色
- 产品思维训练 | 卖菜的店同时也卖水果,卖水果的店为什么不卖菜?
- 全国计算机等级考试安排表,2017年下半年(第49次)全国计算机等级考试安排表.PDF...
- 怎样在电脑桌面上设置员工生日提醒 每年准时提醒生日的便签
- outlook客户端 outlook.com邮箱设置方法