LeetCode_每日一题347

文章目录

  • 一、题目
  • 二、题解


一、题目

前 K 个高频元素
给定一个整数数组 nums 和一个整数 k ,请返回其中出现频率前 k 高的元素。可以按 任意顺序 返回答案。

二、题解

var topKFrequent = function(nums,k) {
  let o = {}
  let num = []
  for (let i = 0; i < nums.length; i++) {
    if (o[nums[i]]) {
      o[nums[i]]++
    } else {
      o[nums[i]] = 1
    }
  }
  // console.log(o)
  for (const oKey in o) {
    num.push({key: oKey, value: o[oKey]})
  }
  num.sort((a,b)=>{
    return b.value - a.value
  })
  return num.splice(0,k).map(item =>{
    return item.key
  })
};

LeetCode_每日一题347_第1张图片

你可能感兴趣的:(leetcode每日一题,leetcode,算法,职场和发展)