求取一个数组最大K个数,返回k个数可以为任意排序,假设数组元素有N个,要求算法时间复杂度不大于O(N*log(K)),空间复杂度为O(1)。
示例1
输入
[3, 2, 1, 4, 5],2
输出
[5,4]
备注:
输出结果从大到小排列
加载中...
import java.util.*; public class Solution { /** * * @param li int整型一维数组 * @param k int整型 * @return int整型一维数组 */ public int[] top_k (int[] li, int k) { // write code here } }
class Solution { public: /** * * @param li int整型一维数组 * @param liLen int li数组长度 * @param k int整型 * @return int整型vector */ vector
top_k(int* li, int liLen, int k) { // write code here } };
# # # @param li int整型一维数组 # @param k int整型 # @return int整型一维数组 # class Solution: def top_k(self , li , k ): # write code here
/** * * @param li int整型一维数组 * @param k int整型 * @return int整型一维数组 */ function top_k( li , k ) { // write code here } module.exports = { top_k : top_k };
# # # @param li int整型一维数组 # @param k int整型 # @return int整型一维数组 # class Solution: def top_k(self , li , k ): # write code here
[3, 2, 1, 4, 5],2
[5,4]