Python程式檢查是否可以到達最左邊或最右邊位置


假設我們有一個字串,包含三種類型的字元:R、B 和點(.)。其中 R 代表我們當前的位置,B 代表被阻擋的位置,點(.) 代表空閒位置。現在,我們可以在一步內移動到當前位置的任何相鄰位置,只要該位置有效(空閒)。我們需要檢查我們是否可以到達最左邊或最右邊的位置。

例如,如果輸入是 s = "...........R.....BBBB.....",則輸出為 True,因為 R 可以到達最左邊位置,因為沒有阻擋。

為了解決這個問題,我們將遵循以下步驟:

  • r_pos := s 中 'R' 的索引
  • 當 s[從索引 0 到 r_pos-1] 中不存在 'B' 或 s[從索引 r_pos 到結尾] 中不存在 'B' 時,返回 True

讓我們看看下面的實現,以便更好地理解:

示例

 線上演示

class Solution:
   def solve(self, s):
      r_pos = s.find('R')
   return not 'B' in s[:r_pos] or not 'B' in s[r_pos:]
ob = Solution()
s = "...........R.....BBBB....."
print(ob.solve(s))

輸入

"...........R.....BBBB....."

輸出

True

更新於: 2020年10月7日

308 次瀏覽

開啟你的 職業生涯

完成課程獲得認證

開始學習
廣告