「判斷路線成圈」python之leetcode刷題|005

「判斷路線成圈」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+ 表現如何?
創新的動力
千元全面屏即將問世?業界首款千元全面屏!
肺能造血,並非天方夜譚(科技大觀)
區塊鏈技術我們談談究竟是什麼

TAG:編程 | Python | 科技 |