用 Python 编写程序检查我们能否到达最左边或最右边的位置

pythonserver side programmingprogramming更新于 2026/1/12 23:08:17

假设我们有一个字符串,其中包含三种类型的字母,R、B 和点(。)。这里 R 代表我们当前的位置,B 代表被阻止的位置,点(。)代表空位置。现在,一步之内,我们可以移动到与当前位置相邻的任何位置,只要它是有效的(空的)。我们必须检查我们是否可以到达最左边的位置或最右边的位置。

因此,如果输入为 s = "...........R.....BBBB.....",则输出将为 True,因为 R 可以到达最左边的位置,因为没有阻塞。

为了解决这个问题,我们将遵循以下步骤 −

  • r_pos := index of 'R'在 s 中
  • 当 'B' 不存在于 s[从索引 0 到 r_pos-1] 中或 'B' 不存在于 s[从索引 r_pos 到结束] 中时返回 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

相关文章


有用资源