「判斷路線成圈」python之leetcode刷題|005
題目
初始位置 (0, 0) 處有一個機器人。給出它的一系列動作,判斷這個機器人的移動路線是否形成一個圓圈,換言之就是判斷它是否會移回到原來的位置。
移動順序由一個字元串表示。每一個動作都是由一個字元來表示的。機器人有效的動作有 R(右),L(左),U(上)和 D(下)。輸出應為 true 或 false,表示機器人移動路線是否成圈。 示例 1:輸入: "UD"
輸出: true示例 2: 輸入: "LL"輸出: false
解答
判斷上下,和左右分別相加為零不就行了嗎
class Solution(object): def judgeCircle(self, moves): """ :type moves: str :rtype: bool """ x = 0 y = 0 for i in moves: if i == U: x += 1 elif i == D: x -= 1 elif i == L: y += 1 else: y -= 1 return x == y == 0
當然這種方法肯定是最笨的方法,看一下結果,打敗36.72%的提交者,看一下網友代碼:
class Solution(object): def judgeCircle(self, moves): """ :type moves: str :rtype: bool """ return moves.count(U) == moves.count(D) and moves.count(L) == moves.count(R)
一行解決,不得不說真厲害。
推薦閱讀:
※同屬驍龍 845 陣營,HTC U12+ 表現如何?
※創新的動力
※千元全面屏即將問世?業界首款千元全面屏!
※肺能造血,並非天方夜譚(科技大觀)
※區塊鏈技術我們談談究竟是什麼