检查是否可以使用Python中的给定单词制作两个字符的字符串
假设我们有一个长度为2的字符串s,并且还有一个单词w的列表,其中所有单词的长度均为2。我们必须检查是否可以将w中的单词串联起来,并且串联后的字符串包含s作为子字符串。
因此,如果输入像s=“no”,w=[“ol”,“on”,“ni”,“to”],则输出将为True,因为我们可以连接诸如“onol”之类的字符串,包含“否”
为了解决这个问题,我们将遵循以下步骤-
n:=w中的单词数
char_0:=False,char_1:=False
对于范围在0到n-1之间的i
返回True
char_1:=真
char_0:=真
返回True
如果w[i]与s相同,则
如果s[0]与w[i,1]相同,则
如果s[1]与w[i,0]相同,则
如果char_0和char_1都为true,则
返回False
让我们看下面的实现以更好地理解-
示例
def solve(s, w):
n = len(w) char_0 = False
char_1 = False
for i in range(n):
if w[i] == s:
return True
if s[0] == w[i][1]:
char_0 = True
if s[1] == w[i][0]:
char_1 = True
if char_0 and char_1:
return True
return False
s = "no"
w = ["ol", "on", "ni", "to"]
print(solve(s, w))输入值
"no", ["ol", "on", "ni", "to"]输出结果
True