Top K Frequent Numbers
JavaScript
Medium
4 views
Problem Description
Given an array, print the k most frequent numbers. If frequency ties, smaller number comes first.
Input Format
Line1: n k. Line2: n integers.
Output Format
One line: k numbers.
Sample Test Case
Input:
10 3
1 1 2 2 2 3 3 4 4 4
Official Solution
const fs=require('fs');const a=fs.readFileSync(0,'utf8').trim().split(/\\s+/);if(!a[0])process.exit(0);let i=0;const n=Number(a[i++]);const k=Number(a[i++]);const freq=new Map();for(let j=0;j<n;j++){const v=Number(a[i++]);freq.set(v,(freq.get(v)||0)+1);}const items=[...freq.entries()];items.sort((x,y)=>y[1]-x[1]||x[0]-y[0]);process.stdout.write(items.slice(0,k).map(it=>String(it[0])).join(' '));
Solutions (0)
No solutions submitted yet. Be the first!
No comments yet. Start the discussion!