以字典顺序查找字符串,该字符串在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
热门推荐
10 儿子立冬祝福语简短独特
11 对当兵的祝福语简短
12 侄儿高考试祝福语简短
13 伴郎红包祝福语朋友简短
14 媳妇生日简短祝福语朋友
15 公司年会祝福语简短最好
16 元旦感恩祝福语简短大全
17 红包祝福语简短10字
18 周六早晨祝福语简短