编程语言
首页 > 编程语言> > 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;
    }
};

标签:nums,int,1838,原题,long,----,132,tempsum,DAY
来源: https://blog.csdn.net/qq_37500516/article/details/117625612