# 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