题解 | #归并排序# 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(',')))

全部评论

相关推荐

我的名字是句号:接好运
点赞 评论 收藏
分享
Yki_:以下条件优先录用: 喜欢去缅北当猪仔的
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客企业服务