力扣1838.最高频的元素的频数

力扣1838.最高频的元素的频数

  • 首先排序 然后右指针遍历补成的数

    • 每次加**差值(num[i] - num[i-1]) * 位数(i - j)
cpp 复制代码
 class Solution {
 public:
     int maxFrequency(vector<int>& nums, int k) {
         int res=1,n = nums.size();
         sort(nums.begin(),nums.end());
         long long ans=0;
         for(int i=1,j=0;i<n;i++)
         {
             ans += (long long)(nums[i] - nums[i-1])*(i-j);
             while(ans > k)
             {
                 ans -= (nums[i] - nums[j]);
                 j ++;
             }
             res = max(res,i-j+1);
         }
         return res;
     }
 };
相关推荐
Savior`L2 小时前
二分算法及常见用法
数据结构·c++·算法
mmz12072 小时前
前缀和问题(c++)
c++·算法·图论
努力学算法的蒟蒻3 小时前
day27(12.7)——leetcode面试经典150
算法·leetcode·面试
甄心爱学习4 小时前
CSP认证 备考(python)
数据结构·python·算法·动态规划
kyle~4 小时前
排序---常用排序算法汇总
数据结构·算法·排序算法
AndrewHZ4 小时前
【遥感图像入门】DEM数据处理核心算法与Python实操指南
图像处理·python·算法·dem·高程数据·遥感图像·差值算法
CoderYanger5 小时前
动态规划算法-子序列问题(数组中不连续的一段):28.摆动序列
java·算法·leetcode·动态规划·1024程序员节
有时间要学习5 小时前
面试150——第二周
数据结构·算法·leetcode
freedom_1024_5 小时前
红黑树底层原理拆解
开发语言·数据结构·b树