假设我们有一个包含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