【算法】Top K 算法
核心思想: 获取数组中的最大值, 并且推送到一个新数组。
// 获取最大元素索引辅助函数
const GetMaxIndex = (nums) => {
let targetIndex;
nums.forEach((item, index) => {
if (typeof targetIndex == "number") {
// 获取最大的索引
if (nums[targetIndex] <= item) {
targetIndex = index;
}
} else {
// 初始化
targetIndex = index;
}
});
return targetIndex;
};
// 解法
const findKthLargest = (nums, k) => {
const ns =[...nums];
let n =0;
while(n < k){
n++;
const maxIndex = GetMaxIndex(ns)
if (n == k) {
return ns[maxIndex];
}
ns.splice(maxIndex,1) // 删除
}
};
赠人玫瑰, 手有余香。🌹
打赏
特别鸣谢
感谢以下用户对本文的支持与鼓励
加载打赏用户中
发表评论
文章评论
暂无任何评论,快去发表吧~