{"id":1386,"date":"2025-06-17T13:08:34","date_gmt":"2025-06-17T17:08:34","guid":{"rendered":"https:\/\/resrvoir.com\/?page_id=1386"},"modified":"2025-06-18T20:59:08","modified_gmt":"2025-06-19T00:59:08","slug":"top-k","status":"publish","type":"page","link":"https:\/\/resrvoir.com\/?page_id=1386","title":{"rendered":"Top K Frequency (easy)"},"content":{"rendered":"<p>Given a list of elements, find the the frequency of elements that are greater than or equal to k.<br \/>\nFor example,\u00a0 a list of <span class=\"enlighter-g1\">[<\/span><span class=\"enlighter-n1\">3<\/span><span class=\"enlighter-text\">, <\/span><span class=\"enlighter-n1\">2<\/span><span class=\"enlighter-text\">, <\/span><span class=\"enlighter-n1\">3<\/span><span class=\"enlighter-text\">, <\/span><span class=\"enlighter-n1\">1<\/span><span class=\"enlighter-text\">, <\/span><span class=\"enlighter-n1\">1<\/span><span class=\"enlighter-text\">, <\/span><span class=\"enlighter-n1\">1<\/span><span class=\"enlighter-g1\">] and<\/span><span class=\"enlighter-text\"> k=<\/span><span class=\"enlighter-n1\">2<\/span><span class=\"enlighter-g1\"> should return [1, 3] .<\/span><\/p>\n<div><\/div>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">function top_k(elements: number[], k: number) {\r\n  const set: { [key: number]: number } = {}\r\n\r\n  for (let e of elements) {\r\n    const count = set[e] ?? 0\r\n    set[e] = count + 1\r\n  }\r\n\r\n  let output: number[] = []\r\n\r\n  const entries: [string, number][] = Object.entries(set)\r\n  entries.sort((a, b) =&gt; b[1] - a[1])\r\n\r\n  let count = 0\r\n\r\n  for (let [key, v] of entries) {\r\n    if (count &lt; k) {\r\n      output.push(Number(key))\r\n      count++\r\n    } else {\r\n      break\r\n    }\r\n  }\r\n\r\n  console.log(output)\r\n}\r\n\r\n\/\/ { 3: 2, 2: 1, 1: 3}\r\ntop_k([3, 2, 3, 1, 1, 1], 2)\r\ntop_k([3, 2, 3, 1, 1, 1], 3)\r\ntop_k([3, 2, 3, 1, 1, 1], 1)\r\n<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Given a list of elements, find the the frequency of elements that are greater than or equal to k. For example,\u00a0 a list of [3, 2, 3, 1, 1, 1] and k=2 should return [1, 3] . function top_k(elements: number[], k: number) { const set: { [key: number]: number } = {} for (let e [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":2,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"_links":{"self":[{"href":"https:\/\/resrvoir.com\/index.php?rest_route=\/wp\/v2\/pages\/1386"}],"collection":[{"href":"https:\/\/resrvoir.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/resrvoir.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/resrvoir.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/resrvoir.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1386"}],"version-history":[{"count":11,"href":"https:\/\/resrvoir.com\/index.php?rest_route=\/wp\/v2\/pages\/1386\/revisions"}],"predecessor-version":[{"id":1421,"href":"https:\/\/resrvoir.com\/index.php?rest_route=\/wp\/v2\/pages\/1386\/revisions\/1421"}],"up":[{"embeddable":true,"href":"https:\/\/resrvoir.com\/index.php?rest_route=\/wp\/v2\/pages\/2"}],"wp:attachment":[{"href":"https:\/\/resrvoir.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1386"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}