From d653d3598d71fea30d45d118e3d046a3aed53ac1 Mon Sep 17 00:00:00 2001 From: Santo Cariotti Date: Thu, 27 Jun 2024 22:39:22 +0200 Subject: Uncommented test files --- progs/a394.py | 46 ++++++++++++++++++++++------------------------ 1 file changed, 22 insertions(+), 24 deletions(-) (limited to 'progs/a394.py') 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 -- cgit v1.2.3-18-g5258