当前位置: 首页 > news >正文

力扣3634. 使数组平衡的最少移除数目

在这里插入图片描述
在这里插入图片描述
这一题的大意是想要让数组处于一个平衡状态,这个状态就是数组中的最大值是<=最小数值*k,那么如何让这个数组保持平衡状态的元素尽可能多呢?(也就是题目上要求的最少移除数目)
根据题目上给出的数据范围是10^5,我们需要在一次遍历中找到数组保持平衡状态的最多元素,
我们可以选择先对数组进行排序,这样就不用不断地寻找最大最小值了,题目上也没有要求必须顺序性(例如子数组),因此我们可以先进行排序。
然后我们可以采用滑动窗口的方式,寻找目标,当窗口右端不断向前拓展碰到不符合条件的元素时,就让左边边界收缩这样能再度符合题目的平衡条件,在滑动窗口的过程中,我们不断用窗口大小来更新ans最终用元素总数-ans即为结果。
完整代码如下:

class Solution {
public:int minRemoval(vector<int>& nums, int k) {int n=nums.size();int l=0;int r=0;int ans=0;sort(nums.begin(),nums.end());while(r<n){if((long long) nums[l]*k>=nums[r]){//说明符合条件ans=max(ans,r-l+1);}   else{while((long long)nums[l]*k<nums[r]){l++;}}r++;}    return n-ans;}
};

时间复杂度O(nlogn)主要是排序的时间复杂度。
这道题和之前的一道题比较类似:无非本题是变长滑动窗口,而那道题是定长滑动窗口
如下

力扣1984. 学生分数的最小差值

http://www.dtcms.com/a/450319.html

相关文章:

  • 网站服务器不稳定樟木头网站建设
  • 建设网站都需投入哪些资源wordpress没有图片
  • 网站主栏目投资网站排行
  • 国内永久crmseo刷关键词排名免费
  • 爬虫的道德与法律边界:Robots 协议、版权与个人信息保护
  • @[TOC](文件操作和IO)
  • 打开网站不要出现 index.html携程网站联盟
  • 律师行业协会网站建设做简历的网站叫什么
  • c++ enum和enum class
  • 罗湖网站制作多少钱南京企业网站
  • 【论文阅读】通义实验室,VACE: All-in-One Video Creation and Editing
  • 2025年--Lc165--H637.二叉树的层平均值(二叉树的层序遍历)--Java版
  • 消息顺序消费问题
  • 网站实名制查询唐山网站设计制作
  • 怎么给网站加速长沙房价2020最新价格
  • LeetCode:99.下一个排列
  • 三合一网站源码网站开发后期工作包括那两个部分
  • C49-函数指针(通过指针调用函数)
  • *多棱镜/三极管——AI工具对话本质探讨(智普清言)
  • 外贸网站建设是什么意思磨床 东莞网站建设
  • 个人电子商务网站 制作营销型网站建设营销型网站建设
  • 查找企业资料的网站vue消息推送和系统通知
  • SVG Stroke 属性详解
  • 链接点开网页表白的网站怎么做的网站策划的步骤
  • CTFHub SQL注入通关笔记1:整数型注入(手注法+脚本法)
  • Scade One 图形建模 - 时序算符模型
  • phpcms手机网站营销型企业网站建设哪家好
  • 产地证在什么网站做网络设计什么学历一般
  • 网站入口百度WordPress即时群聊
  • registrate的深入研究