牛客題霸 排序
阿新 • • 發佈:2021-01-14
題目描述
給定一個數組,請你編寫一個函式,返回該陣列排序後的形式。
示例1
輸入
[5,2,3,1,4]
返回值
[1,2,3,4,5]
示例2
輸入
[5,1,6,2,5]
返回值
[1,2,5,5,6]
備註:
陣列的長度不大於100000,陣列中每個數的絕對值不超過10^9109
解題思路:
快速排序。
Python程式碼:
# # 程式碼中的類名、方法名、引數名已經指定,請勿修改,直接返回方法規定的值即可 # 將給定陣列排序 # @param arr int整型一維陣列 待排序的陣列 # @return int整型一維陣列 # class Solution: def MySort(self , arr ): # write code here def sort_quick(arr, left, right): if left >= right: return arr i = left j = right target = arr[i] while i < j: while i < j and arr[j] >= target: j -= 1 arr[i] = arr[j] while i < j and arr[i] <= target: i += 1 arr[j] = arr[i] arr[j] = target sort_quick(arr, left, i-1) sort_quick(arr, i+1, right) return arr return sort_quick(arr, 0, len(arr)-1)