Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def sl(left, right):
- i = j = 0
- res = []
- 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
- if i < len(left):
- for index in range(i, len(left)):
- res.append(left[index])
- else:
- for index in range(j, len(right)):
- res.append(right[index])
- print(f"arr is {res}")
- return res
- # 5, 4
- # 5
- def merge(arr):
- if len(arr) < 2:
- return arr
- else:
- index = len(arr) // 2
- left = merge(arr[:index]) # [3]
- right = merge(arr[index:]) # [3, 4, 5]
- return sl(left, right) # [4, 5]
- arr = [5, 4, 3, 2, 1]
- print(merge(arr))
Advertisement
Add Comment
Please, Sign In to add comment