Middle-题目132:347. Top K Frequent Elements(增补4)

转载 2016年05月31日 20:29:01

题目原文:
Given a non-empty array of integers, return the k most frequent elements.

For example,
Given [1,1,1,2,2,3] and k = 2, return [1,2].
题目大意:
输入一个数组和数字k,求频次最高的k个数字。
分析:
用hashmap记录频次

class Solution {
public:
    vector<int> topKFrequent(vector<int>& nums, int k) {
        //一,统计处频次
        unordered_map<int,int> mapping;
        for(int number : nums)
            mapping[number]++;
        //二,根据频次压入最大堆中    
        // pair<first, second>: first is frequency,  second is number
        priority_queue<pair<int,int>> pri_que; //最大堆
        for(auto it = mapping.begin(); it != mapping.end(); it++)
            pri_que.push(make_pair(it->second, it->first));
        //三,获取结果    
        while(result.size() < k){
                result.push_back(pri_que.top().second);
                pri_que.pop();
        }
        return result;
    }
private:
    vector<int> result;
};

成绩:
36ms

相关文章推荐

leetcode 347. Top K Frequent Elements

1.题目Given a non-empty array of integers, return the k most frequent elements. 一个非空数组,要求返回前K个最频繁出现的元...

LeetCode笔记:347. Top K Frequent Elements

查找数组中出现的次数头几个的元素

【LeetCode】347. Top K Frequent Elements——基于Java的解决方案

347. Top K Frequent Elements Total Accepted: 12022 Total Submissions: 28556 Difficulty: Medium ...

[leetcode] 347. Top K Frequent Elements

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

【leetcode】347. Top K Frequent Elements

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

leetcode_347 Top K Frequent Elements

题目分析:给定一个数组,返回数组中出现此多最多的k个元素,要求时间复杂度小于O(nlogn)。 解题思路:1)利用map实现统计数组中每个元素出现的次数;2)对1)统计的map按照元素出现的次数进行排...

leetcode题解-347. Top K Frequent Elements

题目:Given a non-empty array of integers, return the k most frequent elements. For example, Given [1,...

LeetCode347—Top K Frequent Elements

LeetCode347—Top K Frequent Elements

[LC347] Top K Frequent Elements

347. Top K Frequent Elements Given a non-empty array of integers, return the k most frequent eleme...

Leetcode 347.Top K Frequent Elements

Given a non-empty array of integers, return the k most frequent elements. 题目链接:Top K Frequent El...
  • xindoo
  • xindoo
  • 2016年06月14日 12:28
  • 250
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Middle-题目132:347. Top K Frequent Elements(增补4)
举报原因:
原因补充:

(最多只允许输入30个字)