def merge(arr):
if len(arr) <= 1:
return arr
mid = len(arr) // 2
left_arr = merge(arr[:mid])
right_arr = merge(arr[mid:])
return merge_sort(left_arr, right_arr)
def merge_sort(left_arr, right_arr):
left = 0
right = 0
mergelist = []
while left < len(left_arr) and right < len(right_arr):
if left_arr[left] < right_arr[right]:
mergelist.append(left_arr[left])
left += 1
else:
mergelist.append(right_arr[right])
right += 1
mergelist += left_arr[left:]
mergelist += right_arr[right:]
return mergelist
arr = [8, 5, 3, 2, 8]
ans = merge(arr)
print(ans)