Skip to content

Instantly share code, notes, and snippets.

@xuhang57
Last active June 19, 2018 08:18
Show Gist options
  • Select an option

  • Save xuhang57/6424d09b5eca996985507ff00aa9cbd2 to your computer and use it in GitHub Desktop.

Select an option

Save xuhang57/6424d09b5eca996985507ff00aa9cbd2 to your computer and use it in GitHub Desktop.
Merge Sort
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(arr):
if len(arr) <= 1:
return arr
mid = int(len(arr) / 2)
left = merge_sort(arr[:mid])
right = merge_sort(arr[mid:])
return merge(left, right)
merge_sort([12,4,5,6,3,7,15,1])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment