Faaez Razeen

Sort Array

  • 1 min read
  • Arra
  • LC-Medium

3 years ago

Solution

TimeSpaceExplanation
O()O()
def sortArray(self, nums: List[int]) -> List[int]: def merge(l, r): mid = (l + r) // 2 left = nums[l : mid + 1] right = nums[mid + 1: r + 1] i, j, k = l, 0, 0 while j < len(left) and k < len(right): if left[j] <= right[k]: nums[i] = left[j] j += 1 else: nums[i] = right[k] k += 1 i += 1 while j < len(left): nums[i] = left[j] i += 1 j += 1 while k < len(right): nums[i] = right[k] i += 1 k += 1 def merge_sort(l, r): if l == r: return nums mid = (l + r) // 2 merge_sort(l, mid) merge_sort(mid + 1, r) merge(l, r) return nums return merge_sort(0, len(nums) - 1)