猫猫说了算
理解是偶然,误解是常态。

【算法】Top K 算法

远浅发表于: 2021-04-14 17:26分类: 技术

核心思想: 获取数组中的最大值, 并且推送到一个新数组。

// 获取最大元素索引辅助函数
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) // 删除
    }
  };

赠人玫瑰, 手有余香。🌹
打赏
特别鸣谢
感谢以下用户对本文的支持与鼓励
加载打赏用户中
发表评论
文章评论
暂无任何评论,快去发表吧~