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
廣告