[Javascript] leetcode799:Top K Frequent Elements

이두팔·2021년 11월 15일
0

leetcode

목록 보기
5/5

https://leetcode.com/explore/interview/card/top-interview-questions-medium/110/sorting-and-searching/799/

// example 1
Input: nums = [1,1,1,2,2,3], k = 2
Output: [1,2]
// example 2
Input: nums = [1], k = 1
Output: [1]

const topKFrequent = function (nums, k) {
  const result = [];
  let index = 0;

  if (nums.length === 1) return nums;

  const arr = nums.reduce((prev, next) => {
    prev[next] = prev[next] > 0 ? prev[next] + 1 : 1;
    return prev;
  }, {})

  const sortArr = Object.entries(arr).sort(([, a], [, b]) => b - a)

  while (index < k) {
    result.push(sortArr[index][0])
    index++;
  }

  return result;
};

다음엔 quick-select로 풀어봐야겠다.

profile
Software Engineer

0개의 댓글