diff options
Diffstat (limited to 'progs/a394.py')
-rw-r--r-- | progs/a394.py | 22 |
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 |