C/C++教程

Leetcode 1838. 最高频元素的频数(DAY 132) ---- 贪心算法学习期

本文主要是介绍Leetcode 1838. 最高频元素的频数(DAY 132) ---- 贪心算法学习期,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

原题题目

在这里插入图片描述


代码实现(首刷看了点思路)

class Solution {
public:
    int maxFrequency(vector<int>& nums, int k) {
        long tempsum = 0;
        int ret = 0;
        sort(nums.begin(),nums.end());
        for(int l=0,r=0;l<nums.size();++l)
        {
            while(r<nums.size()-1 && tempsum <= k)
            {
                tempsum += (long long)(nums[r+1] - nums[r])*(r-l+1);
                ++r;
            }
            if(tempsum <= k)    ret = max(ret,r-l+1);
            else    ret = max(ret,r-l);
            tempsum -= (nums[r] - nums[l]);
        }
        return ret;
    }
};
这篇关于Leetcode 1838. 最高频元素的频数(DAY 132) ---- 贪心算法学习期的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!