题解 | #排序#
排序
http://www.nowcoder.com/practice/2baf799ea0594abd974d37139de27896
python 实现快排
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 将给定数组排序
# @param arr int整型一维数组 待排序的数组
# @return int整型一维数组
#
class Solution:
def MySort(self , arr: List[int]) -> List[int]:
# write code here
def quickSort(begin, end):
if begin >= end:
return arr
left, right, pivot = begin, end, arr[begin]
while left < right:
while left < right and arr[right] > pivot:
right -= 1
while left < right and arr[left] <= pivot:
left += 1
arr[left], arr[right] = arr[right], arr[left]
arr[begin], arr[right] = arr[right], pivot
quickSort(begin, right - 1)
quickSort(right + 1, end)
return arr
return quickSort(0, len(arr) - 1)