题解 | #归并排序# Python3
归并排序
https://www.nowcoder.com/practice/23ed40416d9c4c72816edb12daa3bdff
def merge(left,right):
res=[]
i,j = 0,0
while i<len(left) and j<len(right):
if left[i]<=right[j]:
res.append(left[i])
i+=1
else:
res.append(right[j])
j+=1
res+=left[i:]
res+=right[j:]
return res
def merge_sort(nums):
if len(nums)<=1: return nums
mid=len(nums)//2
left=merge_sort(nums[:mid])
right=merge_sort(nums[mid:])
return merge(left,right)
if __name__=="__main__":
nums=list(map(int,input().strip('[').strip(']').split(',')))
print(merge_sort(nums)) 很常规的归并排序 就是输入太坑 整半天!!
nums=list(map(int,input().strip('[').strip(']').split(',')))
