从python中的两个字符串创建一个词法最小字符串的程序
假设,我们有两个字符串。我们想从这些字符串中生成一个词法最小的字符串。为了制作字符串,我们比较两个字符串的第一个字母,并从其中一个字符串中提取词法上较小的字母。在领带的情况下,即字母是相同的;我们从第一个字符串中提取字母。我们重复这个过程,直到两个字符串都为空。必须返回构造的最小字符串。
因此,如果输入类似于input_1='TUTORIALS',input_2='POINT',那么输出将是POINTTUTORIALS
如果我们比较两个字符串,我们会一步一步地得到这个-
TUTORIALS POINT TUTORIALS OINT = P TUTORIALS INT = PO TUTORIALS NT = POI TUTORIALS T = POIN TUTORIALS = POINT
由于其中一个字符串为空,整个第一个字符串现在被放置在结果最小字符串中。所以,最后一个字符串是POINTTUTORIALS。
示例
让我们看看以下实现以获得更好的理解-
def solve(input_1, input_2): input_1 += "z" input_2 += "z" temp_1 = 0 temp_2 = 0 res_str = "" while temp_1 < len(input_1) and temp_2 < len(input_2): if input_1[temp_1:] < input_2[temp_2:]: res_str += input_1[temp_1] temp_1 += 1 else: res_str += input_2[temp_2] temp_2 += 1 res_str = res_str[:-1] if temp_1 < len(input_1): res_str += input_1[temp_1:-1] if temp_2 < len(input_2): res_str += input_2[temp_2:-1] return res_str print(solve('TUTORIALS', 'POINT'))
输入
'TUTORIALS', 'POINT'输出结果
POINTTUTORIALS