[LeetCode] 347 - Top K Frequent Elements
문제
- 링크: https://leetcode.com/problems/top-k-frequent-elements
- 난이도: Medium
- 태그: 배열, 해시 테이블
- 결과:
Time: 0 ms (100%), Space: 18.12 MB (31.43%)
풀이
class Solution {
public:
vector<int> topKFrequent(vector<int>& nums, int k) {
unordered_map<int, int> m;
for(auto n : nums)
{
++m[n];
}
vector<pair<int, int>> v(m.begin(), m.end());
sort(v.begin(), v.end(), [](const auto& a, const auto& b)
{
return a.second > b.second;
});
vector<int> ans;
ans.reserve(k);
for (int i = 0; i < k; ++i)
{
ans.push_back(v[i].first);
}
return ans;
}
};
각 요소에 대해 개수를 세어서 해시맵에 넣고, pair들을 모아서 정렬시켰다.
댓글남기기