8/10 每日一題(判定機器人移動後是否回到原點)
有一個機器人(0, 0)從 2D 平面上的位置(原點)開始。給定其移動序列,判斷該機器人在完成其移動後是否結束於。(0, 0)
給您一個字符串moves,表示機器人的移動順序,其中moves[i]表示其移動。有效移動為(右)、(左)、(上)和(下)。ith'R''L''U''D'
true如果機器人完成所有動作後返回原點,則返回,false否則返回。
注意:機器人“面向”的方式無關緊要。'R'總是使機器人向右移動一次,'L'總是使其向左移動一次,等等。此外,假設機器人每次移動的移動幅度相同。
示例1:
輸入: moves = "UD" 輸出: true 解釋:機器人向上移動一次,然後向下移動一次。所有的移動都具有相同的幅度,因此最終會回到開始的原點。因此,我們返回true。
示例2:
輸入: moves = "LL" 輸出: false 解釋:機器人向左移動兩次。它最終向原點左側移動了兩次。我們返回 false,因為它在移動結束時不在原點。
限制條件:
1 <= moves.length <= 2 * 104moves僅包含字符'U'、'D'和'L'。'R'
class Solution:
def judgeCircle(self, moves: str) -> bool:
moves_dict={'U':1,'D':-1,'L':-1,'R':1}
x,y=0,0
for i in moves:
if i == 'U' or i =='D':
y+=moves_dict[i]
else:
x+=moves_dict[i]
if x == 0 and y ==0:
return True
else:
return False
-------------------參考解答
class Solution:
def judgeCircle(self, moves: str) -> bool:
if len(moves) % 2 == 0:
if moves.count('U') == moves.count('D') and moves.count('L') == moves.count('R'):
return True標籤: leetcode

0 個意見:
張貼留言
訂閱 張貼留言 [Atom]
<< 首頁