package main /** * * @param a int整型一维数组 * @param n int整型 * @param K int整型 * @return int整型 */ func findKth( a []int , n int , K int ) int { arr := a quickSort(arr, 0, len(arr)-1) return arr[K-1] } func quickSort(arr []int, left, right int) { if left > right { return } pivot := getPivot(arr, left, right) quickSort(arr, left, pivot-1) quickSort(arr, pivot+1, right) } func getPivot(arr []int, left, right int) int { pivot := left for left < right { for left < right && arr[right] <= arr[pivot] { right-- } for left < right && arr[left] >= arr[pivot] { left++ } arr[right], arr[left] = arr[left], arr[right] } arr[pivot], arr[left] = arr[left], arr[pivot] return left }