leetcode1041困于环中的机器人
生活随笔
收集整理的這篇文章主要介紹了
leetcode1041困于环中的机器人
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目如下,一道簡(jiǎn)單的模擬
在無限的平面上,機(jī)器人最初位于 (0, 0) 處,面朝北方。機(jī)器人可以接受下列三條指令之一:"G":直走 1 個(gè)單位 "L":左轉(zhuǎn) 90 度 "R":右轉(zhuǎn) 90 度 機(jī)器人按順序執(zhí)行指令 instructions,并一直重復(fù)它們。只有在平面中存在環(huán)使得機(jī)器人永遠(yuǎn)無法離開時(shí),返回 true。否則,返回 false。題解
可以通過觀察發(fā)現(xiàn),機(jī)器人最多進(jìn)行4次輸入的字符串對(duì)應(yīng)的操作就可以到達(dá)遠(yuǎn)點(diǎn),我選擇循環(huán)四次,直接看結(jié)果是不是原點(diǎn)。代碼如下
class Solution {public boolean isRobotBounded(String instructions) {int x=0;int y = 0;int t = 4;int state = 1;while (t>0) {for (int i = 0; i < instructions.length(); i++) {if (instructions.charAt(i) == 'L') {state--;}if (instructions.charAt(i) == 'R') {state++;}if (state == 0) state = 4;if (state == 5) state = 1;if (instructions.charAt(i) == 'G') {switch (state) {case 1:y++;break;case 2:x++;break;case 3:y--;break;case 4:x--;break;}}}t--;}if(x==0&&y==0){return true;}else {return false;}} }轉(zhuǎn)載于:https://www.cnblogs.com/yfc0818/p/11072590.html
總結(jié)
以上是生活随笔為你收集整理的leetcode1041困于环中的机器人的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 欢乐斗地主为啥没有345
- 下一篇: 宝可梦传说阿尔宙斯宝可梦怎么进化?