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

D.二分查找-二分答案-最大化最小值——1552. 两球之间的磁力

题目链接:1552. 两球之间的磁力(中等)

算法原理:

解法:二分查找+贪心

跟上题不能说极其相似,只能说一摸一样😂改个变量名直接AC了👇

D.二分查找-二分答案-最大化最小值——2517. 礼盒的最大甜蜜度

49ms击败81.33%

时间复杂度O(Nlogn)

任意两球磁力绝对差的最小值=排序后,任意两相邻i小球磁力绝对差的最小值

因为排序后不相邻的数作差一定≥相邻数作的差,min时肯定不会被取到

①目标变量:磁力(最小绝对差)

②目标条件:在当前磁力情况下,所选k个数中任意两数差值≥当前磁力,且当前磁力要最大化

③转换逻辑:当前磁力为mid时,能否选出k个数,使得任意两个选中的数差值≥mid

具体步骤

①确定边界

left:0,所有数选同一个值,最小差为0

right:position[n-1]-position[0],排序后,最大差=最大值-最小值

②确定二分模型:磁力 ↑ 能选择的数的数量 ↓ 呈负相关单调,由于要最大化磁力,因此采用最右端点模型

③check方法设计:采用双指针贪心的方法,贪心的点在于第一个点直接选position[0],以便给后续值留下更大差值空间,在此之后再用双指针的方法:prev记录前一个符合条件的值,只要当前position-prev≥mid,说明就找到了一个符合条件的点,计数cnt++,当计数≥k时就可以返回了

Java代码:

class Solution { public int maxDistance(int[] position, int m) { Arrays.sort(position); int n=position.length; int left=0,right=position[n-1]-position[0]; while(left<right){ int mid=left+(right-left+1)/2; if(!check(mid,position,m)) right=mid-1; else left=mid; } return left; } //判断能否选出k个数,使得任意两个选中的数差值≥mid private boolean check(int mid,int[] position,int m){ int cnt=1; int prev=position[0]; for(int i=1;i<position.length;i++){ if(position[i]-prev>=mid){ cnt++; prev=position[i]; //提前满足,提前返回 if(cnt>=m) return true; } } return cnt>=m; } }
http://www.jsqmd.com/news/405258/

相关文章:

  • 探伤仪市场新动态:2026年热门供应商盘点,纺织品拉力试验机/2000N弹簧承载力试验机,探伤仪直销厂家排行榜单 - 品牌推荐师
  • 零基础入门SeqGPT-560M:从安装到信息抽取全流程
  • 8GB显存跑大模型:GLM-4-9B-Chat-1M实测分享
  • Z-Image-Turbo惊艳效果展示:8步生成4K商业海报
  • 雯雯的后宫-造相Z-Image-瑜伽女孩部署教程:WSL2环境下的Windows本地快速验证方案
  • GTE模型在嵌入式系统中的应用:边缘计算文本分析
  • FLUX小红书V2与Vue前端框架集成实战
  • 手把手教你用HY-Motion 1.0制作3D动作:从文字到动画全流程
  • 大模型集成:用Lite-Avatar构建多模态交互系统
  • 直接上结论:9个降AI率软件降AIGC网站测评,自考降重必备攻略
  • 如何选择可靠的手表维修点?2026年深圳时度表维修推荐与排名,解决技术隐忧 - 十大品牌推荐
  • Qwen3-TTS-12Hz-1.7B在网络安全领域的创新应用:语音验证码系统
  • 通义千问3-Reranker-0.6B在学术搜索中的应用:论文相关性排序
  • EcomGPT-7B电商模型:从安装到API调用详解
  • OFA VQA开源镜像部署教程:GPU算力友好、免手动下载模型、开箱即用
  • LiteAvatar数字人对话系统中的Token管理机制
  • YOLO12区域注意力机制解析:提升检测精度的秘密
  • 2.5D转真人神器:Anything to RealCharacters功能全解析
  • Qwen3-Embedding-4B技术解析:为何4B参数更适合中文语义嵌入?训练数据与tokenization分析
  • YOLO12企业实操:工厂产线PCB板元件定位与焊点缺陷同步检测
  • YOLO12多任务联合输出:检测框+分割掩码+关键点同图渲染效果
  • nlp_gte_sentence-embedding_chinese-large实战:中文短视频脚本语义查重系统
  • FireRedASR-AED-L真实案例:区块链白皮书讲解→技术术语+代币模型解析
  • Asian Beauty Z-Image Turbo效果展示:新中式办公空间/茶室/园林场景人像融合
  • DeepSeek-R1-Distill-Llama-8B保姆级教程:Ollama模型嵌入向量导出与FAISS集成
  • 智能科学毕业设计2026课题思路
  • AI 净界开箱即用:RMBG-1.4 镜像免安装快速启动教程
  • 如何选择可靠维修点?2026年深圳精工手表维修推荐与评测,应对服务不透明痛点 - 十大品牌推荐
  • 灵毓秀-牧神-造相Z-Turbo开箱体验:轻松创作牧神记角色
  • Qwen-Image-Lightning与YOLOv8结合实战:智能图像标注系统开发