程序检查我们是否可以在Python中到达最左或最右位置

假设我们有一个包含R,B和dot(。)三种类型字母的字符串。在这里R代表我们的当前位置,B代表封锁的位置,而dot(。)代表空的位置。现在,只要一步步有效,我们便可以将其移动到当前位置的任何相邻位置(空)。我们必须检查是否可以到达最左边的位置或最右边的位置。

因此,如果输入就像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
猜你喜欢