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

【双指针】供暖器

在这里插入图片描述
改一下输入输出格式,输入n,m,表示n个房屋,m个供暖器,接下来输入n个整数和m个整数。输出一个整数,表示最小的供暖半径。

1 变量定义

1)a数组:存储房屋的位置
2)h数组:存储供暖器的位置
3)l变量:停留在a数组
4)r变量:停留在h数组
5)minn变量:定义为房屋到供暖器的最小距离
6) ans变量:定义为找到的最小半径

2 算法流程

l遍历a数组的元素,初始化minn=abs(a[l]-h[r]),如果r+1<=m && minn >= abs(a[l]-h[r+1]),则更新minn,r++。最好通过max(minn,ans)找到最终的ans。

3代码实现

#include<bits/stdc++.h>
using namespace std;
int l,r,n,m;
int a[100005],h[100005];
int main(){cin>>n>>m;for(int i=1;i<=n;i++) cin>>a[i];for(int i=1;i<=m;i++) cin>>h[i];sort(a+1,a+n+1);sort(h+1,h+m+1); l=1;r=1;int ans=0;for(int i=1;i<=n;i++){l=i;int minn=abs(h[r]-a[l]);while(r+1<=m&&abs(h[r+1]-a[l])<=minn){minn=abs(h[r+1]-a[l]);r++;} ans=max(ans,minn);} cout<<ans;return 0;
}
http://www.xdnf.cn/news/501265.html

相关文章:

  • 【Qt】Qt常见控件的相关知识点
  • 深入浅出理解JavaScript中的setProperty方法
  • 第三章 流程控制
  • Netty的简单使用
  • 在RK3588上使用NCNN和Vulkan加速ResNet50推理全流程
  • PHP8.0版本导出excel失败
  • 高并发内存池|定长内存池的设计
  • 如何在前端页面上展示解析后的 JSON 数据?
  • deepin v23.1 音量自动静音问题解决
  • 关系代数和关系数据库语言(SQL)
  • 力扣HOT100之二叉树:108. 将有序数组转换为二叉搜索树
  • BUG调试案例一:为什么网卡芯片可以找到却PING不通?--RK3588+YT8531网络调试实录
  • 算法:分治法
  • 单调栈和单调队列
  • 使用instance着色
  • 高效完成任务:制定标准与限时完成的双重法宝
  • lc42接雨水
  • 阿里巴巴开源移动端多模态LLM工具——MNN
  • Dockerfile学习指南
  • 搜索引擎工作原理|倒排索引|query改写|CTR点击率预估|爬虫
  • Linux面试题集合(4)
  • 木材价格动态定价实战指南:多算法模型与行业案例深度解析
  • 算法题(148):排座椅
  • 实验八 基于Python的数字图像问题处理
  • MySQL 中 JOIN 和子查询的区别与使用场景
  • 基于 Leaflet 地图库的强大线条、多边形、圆形、矩形等绘制插件Leaflet-Geoman
  • [强化学习的数学原理—赵世钰老师]学习笔记02-贝尔曼方程
  • 《算法导论(第4版)》阅读笔记:p82-p82
  • 如何免费在线PDF转换成Excel
  • Java并发编程的挑战:从理论到实战