假设我们有两个排序的列表A和B。我们必须将它们合并并仅形成一个排序的列表C。列表的大小可能会有所不同。
例如,假设A = [1,2,4,7]和B = [1,3,4,5,6,8],则合并列表C将为[1,1,2,3,4, 4,5,6,7,8]
我们将使用递归解决此问题。所以该功能将如下所示工作-x:=一个新列表
i:= 0,j:= 0
当i
在x的末尾插入lst1 [j]
i:= i + 1,j:= j + 1
在x的末尾插入lst0 [i]
i:= i + 1
在x的末尾插入lst1 [j]
j:= j + 1如果lst0 [i]> lst1 [j],则
否则,当lst0 [i]
除此以外,
当i
i:= i + 1
当j
j:= j + 1
返回x
让我们看一下实现以获得更好的理解
示例class Solution:
def solve(self, lst0, lst1):
x=[]
i=0
j=0
while(i
if(lst0[i]>lst1[j]):
x.append(lst1[j])
j=j+1
elif(lst0[i]
x.append(lst0[i])
i=i+1
else:
x.append(lst0[i])
x.append(lst1[j])
i=i+1
j=j+1
while(i
x.append(lst0[i])
i=i+1
while(j
x.append(lst1[j])
j=j+1
return x
ob = Solution()print(ob.solve([1,2,4,7], [1,3,4,5,6,8]))
输入值[1,2,4,7], [1,3,4,5,6,8]
输出结果[1, 1, 2, 3, 4, 4, 5, 6, 7, 8]