Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
// Top K Frequent Elements - https://leetcode.com/problems/top-k-frequent-elements/description/?source=submission-ac class Solution { // Time Complexity: O(nlogn) public int[] topKFrequent(int[] nums, int k) { Map
map = new HashMap<>(); for (int i = 0; i < nums.length; i++) { int count = map.getOrDefault(nums[i], 0); map.put(nums[i], count + 1); } // Sorted in descending order by count PriorityQueue
pq = new PriorityQueue<>( (el1, el2) -> Integer.compare(el2.j, el1.j) ); for(Map.Entry
entry: map.entrySet()) { System.out.println(entry.getKey() + " " + entry.getValue()); pq.offer(new Element(entry.getKey(), entry.getValue())); } int[] result = new int[k]; for (int i = 0; i < k && !pq.isEmpty(); i++) { Element el = pq.poll(); result[i] = el.i; } return result; } class Element { int i, j; Element(int i, int j) { this.i = i; this.j = j; } } Time Complexity: O(Nlogk) Space Complexity: O(N + k) public int[] topKFrequent(int[] nums, int k) { Map
count = new HashMap<>(); for (int n: nums) { count.put(n, count.getOrDefault(n, 0) + 1); } // Sorted in descending order by count Queue
minHeap = new PriorityQueue<>( (n1, n2) -> Integer.compare(count.get(n1), count.get(n2)) ); for(int n: count.keySet()) { minHeap.offer(n); if(minHeap.size() > k) { minHeap.poll(); } } int[] top = new int[k]; for (int i = k - 1; i >= 0; i--) { top[i] = minHeap.poll(); } return top; } }
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)