检查是否可以使用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