blob: 25f8f3eeff8e8b52afceea5c4ad2b5efb036e1eb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# FIXME: multiple variable assignment in for loop
#
# 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
|