【LeetCode】347.前K个高频元素

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhao3132453/article/details/89160474

题目描述:

示例代码:(仅供参考)

typedef std::pair<int, int> PAIR;
bool cmp_by_value(const PAIR& lhs, const PAIR& rhs)
{
	return lhs.second > rhs.second;
}

class Solution 
{
public:
    
    vector<int> topKFrequent(vector<int>& nums, int k) 
    {
        std::map<int, int> imap;
        vector<int> ivec;
	
	    for (int i=0;i!=nums.size();i++)
	    {
		    if (std::find(nums.begin(),nums.end(),nums[i]) != nums.end())
		    {
			    imap[nums[i]]++;
		    }
		    else
		    {
			    imap.insert(std::make_pair(nums[i],i));
		    }
	    }
  
	    std::vector<PAIR> name_score_vec(imap.begin(), imap.end());
	    sort(name_score_vec.begin(), name_score_vec.end(), cmp_by_value);
	    for (int i = 0; i != k; ++i)
            {
		    std::cout << name_score_vec[i].first;
                    ivec.push_back(name_score_vec[i].first);
	    }
            return ivec;
    }
};

猜你喜欢

转载自blog.csdn.net/zhao3132453/article/details/89160474