以字典顺序查找字符串,该字符串在Python中给定的两个字符串之间

假设我们有两个字符串S和T,我们必须检查相同长度的字符串是否在字典上大于S且小于T。如果没有这样的字符串,则必须返回-1。我们必须谨记,只要存在i,S = S1S2…Sn在字典上就小于T = T1T2…Tn,因此S1 = T1,S2 = T2,... Si – 1 = Ti – 1, Si <钛

因此,如果输入类似于S =“ bbb”和T =“ ddd”,则输出将为“ bbc”

为了解决这个问题,我们将遵循以下步骤-

  • n:=字符串大小

  • 对于范围在n-1到0的i,减1,

    • k:=(string [i])的ASCII

    • string [i]:= ASCII中的字符(k +1)

    • 加入字符串字符并返回

    • 如果string [i]与“ z”不同,则

    • 字符串[i]:='a'

    示例

    让我们看下面的实现以更好地理解-

    def find_next(string):

       n = len(string)

       for i in range(n - 1, -1, -1):

          if string[i] != 'z':

             k = ord(string[i])

             string[i] = chr(k + 1)

             return ''.join(string)

          string[i] = 'a'

    S = "bbb"

    T = "ddd"

    S = list(S)

    res = find_next(S)

    if res != T:

       print(res)

    else:

       print(-1)

    输入值

    "bbb", "ddd"

    输出结果

    bbc

    以上是 以字典顺序查找字符串,该字符串在Python中给定的两个字符串之间 的全部内容, 来源链接: utcz.com/z/316639.html

    回到顶部