快速排序寻找第K大的数
/** * * @param a int整型一维数组 * @param n int整型 * @param K int整型 * @return int整型 */ function findKth( a , n , K ) { // write code here var result = 0; function QuickSort(arr,i,j,k){ if (i <= j) { let left = i; let right = j; let base = arr[left]; while (i<j) { while (arr[j]<base && i<j) { j--; } if(i<j){ arr[i] = arr[j]; i++ } while (arr[i]>base && i<j) { i++; } if(i<j){ arr[j] = arr[i];; j-- } } arr[i] = base; result = base; if (i === k - 1) { return; } else if (i > k - 1) { QuickSort(arr, left, i - 1, k); } else if (i < k - 1) { QuickSort(arr, i + 1, right, k); } } } QuickSort(a,0,n-1,K) return result } module.exports = { findKth : findKth };
排序算法 文章被收录于专栏
排序算法