관리 메뉴

솜씨좋은장씨

[leetCode] 347. Top K Frequent Elements (Python) 본문

Programming/코딩 1일 1문제

[leetCode] 347. Top K Frequent Elements (Python)

솜씨좋은장씨 2020. 10. 14. 00:10
728x90
반응형

Given a non-empty array of integers, return the k most frequent elements.

 

Example 1:

Input: nums = [1,1,1,2,2,3], k = 2
Output: [1,2]

Example 2:

Input: nums = [1], k = 1
Output: [1]

Note:

  • You may assume k is always valid, 1 ≤ k ≤ number of unique elements.
  • Your algorithm's time complexity must be better than O(n log n), where n is the array's size.
  • It's guaranteed that the answer is unique, in other words the set of the top k frequent elements is unique.
  • You can return the answer in any order.

Solution

from collections import Counter

class Solution:
    def topKFrequent(self, nums: List[int], k: int) -> List[int]:
        cnt = Counter(nums)
        
        most_common_k = cnt.most_common(k)
        
        answer = [num[0] for num in most_common_k]
        
        return answer

 

SOMJANG/CODINGTEST_PRACTICE

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

Comments