summaryrefslogtreecommitdiff
path: root/progs/a394.py
diff options
context:
space:
mode:
authorSanto Cariotti <santo@dcariotti.me>2024-06-27 22:39:22 +0200
committerSanto Cariotti <santo@dcariotti.me>2024-06-27 22:39:22 +0200
commitd653d3598d71fea30d45d118e3d046a3aed53ac1 (patch)
tree9d6720f83e4752aa1dd54daf549734b67747b60a /progs/a394.py
parent259580d38338ef53e6f98b2b279d1d4aa8ecff04 (diff)
Uncommented test files
Diffstat (limited to 'progs/a394.py')
-rw-r--r--progs/a394.py46
1 files changed, 22 insertions, 24 deletions
diff --git a/progs/a394.py b/progs/a394.py
index 25f8f3e..d977184 100644
--- a/progs/a394.py
+++ b/progs/a394.py
@@ -1,24 +1,22 @@
-# 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 \ No newline at end of file
+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