diff options
| author | Santo Cariotti <santo@dcariotti.me> | 2024-05-28 10:29:13 +0200 | 
|---|---|---|
| committer | Santo Cariotti <santo@dcariotti.me> | 2024-05-28 10:29:13 +0200 | 
| commit | f05d888a0b621ca4e99e2b0fb6e23c097006fe41 (patch) | |
| tree | eebbb2489144112d3288393e354d19375a0aa088 /progs/a394.py | |
Init
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 |