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