summaryrefslogtreecommitdiff
path: root/progs/a394.py
diff options
context:
space:
mode:
Diffstat (limited to 'progs/a394.py')
-rw-r--r--progs/a394.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/progs/a394.py b/progs/a394.py
new file mode 100644
index 0000000..4fe6e47
--- /dev/null
+++ b/progs/a394.py
@@ -0,0 +1,22 @@
+def func(nums, k):
+ import collections
+ d = collections.defaultdict(int)
+ for row in nums:
+ for i in row:
+ d[i] += 1
+ temp = []
+ import heapq
+ for key, v in d.items():
+ if len(temp) < k:
+ temp.append((v, key))
+ if len(temp) == k:
+ heapq.heapify(temp)
+ else:
+ if v > temp[0][0]:
+ heapq.heappop(temp)
+ heapq.heappush(temp, (v, key))
+ result = []
+ while temp:
+ v, key = heapq.heappop(temp)
+ result.append(key)
+ return result \ No newline at end of file