Quick Sort Template
def quickSort(self, nums):
def helper(head, tail):
if head >= tail: return
l, r = head, tail
m = (r - l) // 2 + l
pivot = nums[m]
while r >= l:
while r >= l and nums[l] < pivot: l += 1
while r >= l and nums[r] > pivot: r -= 1
if r >= l:
nums[l], nums[r] = nums[r], nums[l]
l += 1
r -= 1
helper(head, r)
helper(l, tail)
helper(0, len(nums)-1)
return nums
Last updated
Was this helpful?