本题题意:
一开始一个机器人站在了(0,0)上,面朝的方向是北,收到三个序列G,L,R。
G:直走
L:向左转
R:向右转
按序执行,永远重复。
返回TRUE,如果处在一个圈。

第一个卡住的点:
1.疑惑于机器人会不会不经过原点,然后还会出现一个圈?
不会。若在固定路线转圈,肯定是重复了若干次,回到了原点。否则路线是不能固定的。

idea:
1.如果第一次执行完一串指令后,就在原点,则一定是固定路线。
2.如果执行完一串指令后,不在原点,新的方向是dir,则有下面的结论:
dir不是北方,就一定可以回到原点。
证明:
如果dir指向南方,则下一次执行完,就一定回到原点(方向180度)
如果dir指向东方,则四次执行完,就一定回到原点(方向90度)

更简单的讲,机器人重复四次执行,判断是否在原点就可以。

第一次代码:

def isRobotBounded(self, instructions: str) -> bool:a = instructions* 4d = 1"""12       43"""r = [0,1,2,3,4]p = [0,0]for i in a:if i == 'L':d = r[d + 1 if d + 1 != 5 else 1]elif i == 'R':d = r[d - 1 if d - 1 != 0 else 4]else:if d == 1:p[1] += 1    #y + 1elif d == 2:    p[0] -= 1    #x - 1elif d == 3:p[1] -= 1else :p[0] += 1return p == [0,0]

第二次代码

def isRobotBounded(self, instructions: str) -> bool:a = instructions* 4d = 0"""03       12i = (i + 1) % 4 will turn righti = (i + 3) % 4 will turn left"""rec = [[0,1],[1,0],[0,-1],[-1,0]]x, y = 0, 0for i in a:if i == 'L':    d = (d + 3) % 4elif i == 'R':  d = (d + 1) % 4else:   x, y = x + rec[d][0], y + rec[d][1]return x == 0 and y ==0

总的来说,就是菜。。 照着大神代码看- - - - - -

转载于:https://www.cnblogs.com/whyaza/p/10855381.html

1041. Robot Bounded In Circle相关推荐

  1. LeetCode 1041. Robot Bounded In Circle【字符串,模拟】中等

    本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12.由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止:由于LeetCode还在不断地创建新 ...

  2. LeetCode github集合,附CMU大神整理笔记

    Github LeetCode集合 本人所有做过的题目都写在一个java项目中,同步到github中了,算是见证自己的进步.github目前同步的题目是2020-09-17日之后写的题.之前写过的题会 ...

  3. 2019中国移动互联网广告全鉴

    互联网行业发展日新月异,互联网广告作为"伴生物",也随行业巨头.行业风口流转和追随. 其中最重要的转折莫过于,在4G大范围普及,用户注意力逐渐转移到手机.平板电脑等移动设备的背景下 ...

  4. LeetCode 657. Judge Route Circle

    题目: Initially, there is a Robot at position (0, 0). Given a sequence of its moves, judge if this rob ...

  5. [LeetCode]657.Judge Route Circle

    题目描述: Initially, there is a Robot at position (0, 0). Given a sequence of its moves, judge if this r ...

  6. 【Lintcode】1104. Judge Route Circle

    题目地址: https://www.lintcode.com/problem/judge-route-circle/description 在平面直角坐标系里,以方向给一个出发点在(0,0)(0,0) ...

  7. LeetCode 简单算法题

    使用Nodejs 抓取的LeetCode 简单算法题  一步一步来,先攻破所有简单的题目,有些题目不适合使用JS解决,请自行斟酌 Letcode 简单题汇总 104. Maximum Depth of ...

  8. ROS小车应用:控制机器人做圆周运动

    一.首先创建一个功能包 跳转到src目录下 catkin_create_pkg 功能包名字 进入目录,创建一个script目录(主要使用py来写) 然后创建一个py文件,取名draw_circle.p ...

  9. java 对数取反_GitHub - giraffegzy/ex_java: java练习题(来源各个地方and难度随机)

    java基础练习题 1.检查是否为素数(素数:该数除了1和它本身以外不再有其他的因数的数被称为素数.) 2.打印出1-100的数,每十个数为一组. 3.接收一个层数值n,打印一个有n层的直角三角形,并 ...

最新文章

  1. 彻底搞懂浏览器Event-loop
  2. Factom(公证通)--基于区块链的存证系统
  3. 如何在SAP Spartacus category 页面里拿到当前的category信息
  4. Codeforces Round #169 (Div. 2)
  5. 剑指offer.数值的整数次方
  6. android自定义控件动态,GitHub - itrenjunhua/WaveView: Android自定义控件实现动态百分比水波纹效果...
  7. sparklyr 1.0发布,有哪些新功能?
  8. 电路分析实验一 Pspice编写电路程序并运行
  9. java如何运行_如何运行java程序
  10. java 500错误页面模板_模板详细错误
  11. [远心镜头] 物方远心、像方远心和双远心镜头的区别
  12. python PIL生成gif帧率问题
  13. 前端每日实战:66# 视频演示如何用纯 CSS 创作一台咖啡机
  14. 人工智能与大数据就业前景_人工智能就业方向及发展前景
  15. Nature Microbiology | 王璋/陈荣昌/周宏伟-慢阻肺病呼吸道菌群-宿主互作机制
  16. SQLiteSpy执行Sql语句提示No such collation sequence : PhoneBook
  17. 关于Angular Js动态表格合并单元格的一点见解
  18. 360wifi linux ad hoc,Ad Hoc模式无线局域网搭建
  19. 六行python代码的爱心曲线公式_六行python代码的爱心曲线-Go语言中文社区
  20. Apple Watch必备!KUNER充电表带登场

热门文章

  1. 微信小程序学习笔记-1-环境及基础结构
  2. 求1e11以内的素数
  3. Window_纪中_1326_单调队列
  4. java窗体与Flash交互
  5. wp7 --缓动动画
  6. IIS之错误解决之道
  7. Mr.J-- HTTP学习笔记(十)-- Cookie机制
  8. .9-浅析express源码之请求处理流程(2)
  9. 在CentOS7上安装配置Corosync高可用集群过程全记录
  10. .NET采集数据,放入数据库总结