leetcode:写出排序的过程,给出2个有序的子序列,如何将已有序的子序列合并,得到完全有序的序列,复杂度越低越好
题目:
写出排序的过程,给出2个有序的子序列,如何将已有序的子序列合并,得到完全有序的序列,复杂度越低越好。
题解:
def merge_sorted_subsequences(seq1, seq2):
merged_sequence = []
i, j = 0, 0
while i < len(seq1) and j < len(seq2):
if seq1[i] <= seq2[j]:
merged_sequence.append(seq1[i])
i += 1
else:
merged_sequence.append(seq2[j])
j += 1
while i < len(seq1):
merged_sequence.append(seq1[i])
i += 1
while j < len(seq2):
merged_sequence.append(seq2[j])
j += 1
return merged_sequence
if __name__ == '__main__':
seq1 = [1, 3, 4, 5, 7]
seq2 = [2, 4, 6, 8]
merged = merge_sorted_subsequences(seq1, seq2)
print(merged)