题解 | #寻找第K大# JS ordered map 61ms

寻找第K大

http://www.nowcoder.com/practice/e016ad9b7f0b45048c58a9f27ba618bf

const counter = (a_or_s) => { let m = new Map(); for (const x of a_or_s) m.set(x, m.get(x) + 1 || 1); return m; };

function findKth(a, n, k) {
   a.sort((x, y) => y - x);
   let m = counter(a), i = 1;
   for (const [x, occ] of m) {
       if (i >= k) {
          return x;
       }
       i += occ;
   }
}

module.exports = {
    findKth : findKth
};
全部评论

相关推荐

joe2333:怀念以前大家拿华为当保底的日子
点赞 评论 收藏
分享
小红书 后端选手 n*16*1.18+签字费期权
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务