冬季已经来临。 你的任务是设计一个有固定加热半径的供暖器向所有房屋供暖。

现在,给出位于一条水平线上的房屋和供暖器的位置,找到可以覆盖所有房屋的最小加热半径。

所以,你的输入将会是房屋和供暖器的位置。你将输出供暖器的最小加热半径。

说明:

  1. 给出的房屋和供暖器的数目是非负数且不会超过 25000。
  2. 给出的房屋和供暖器的位置均是非负数且不会超过10^9。
  3. 只要房屋位于供暖器的半径内(包括在边缘上),它就可以得到供暖。
  4. 所有供暖器都遵循你的半径标准,加热的半径也一样。

示例 1:

输入: [1,2,3],[2] 输出: 1 解释: 仅在位置2上有一个供暖器。如果我们将加热半径设为1,那么所有房屋就都能得到供暖。

示例 2:

输入: [1,2,3,4],[1,4] 输出: 1 解释: 在位置1, 4上有两个供暖器。我们需要将加热半径设为1,这样所有房屋就都能得到供暖。

class Solution {
public:int findRadius(vector<int>& houses, vector<int>& heaters) {sort(houses.begin(), houses.end());sort(heaters.begin(), heaters.end());int len1 = houses.size();int len2 = heaters.size();int res = 0;int cnt = 0;//设定一个标记,标记为位置比目前第i个房屋小的供暖器,优化,不然会超时for(int i = 0; i < len1; i++){int temp = abs(houses[i] - heaters[cnt]);for(int j = cnt + 1; j < len2; j++){if(houses[i] == heaters[j]){temp = 0;break;}else if(houses[i] < heaters[j]){temp = min(temp, heaters[j] - houses[i]);}else{temp = min(temp, houses[i] - heaters[j]);cnt = j;}}res = max(temp, res);}return res;}
};

转载于:https://www.cnblogs.com/lMonster81/p/10434075.html

Leetcode475.Heaters供暖器相关推荐

  1. Heaters 供暖器

    冬季已经来临. 你的任务是设计一个有固定加热半径的供暖器向所有房屋供暖. 现在,给出位于一条水平线上的房屋和供暖器的位置,找到可以覆盖所有房屋的最小加热半径. 所以,你的输入将会是房屋和供暖器的位置. ...

  2. leetcode475. 供暖器(二分查找)

    冬季已经来临. 你的任务是设计一个有固定加热半径的供暖器向所有房屋供暖. 现在,给出位于一条水平线上的房屋和供暖器的位置,找到可以覆盖所有房屋的最小加热半径. 所以,你的输入将会是房屋和供暖器的位置. ...

  3. LeetCode 475. 供暖器(双指针二分查找)

    文章目录 1. 题目 2. 解题 2.1 双指针 2. 二分查找 1. 题目 冬季已经来临. 你的任务是设计一个有固定加热半径的供暖器向所有房屋供暖. 现在,给出位于一条水平线上的房屋和供暖器的位置, ...

  4. 2022-6-5 供暖器,最小差,两地调度,峰与谷

    1. 供暖器 [双指针or二分] 冬季已经来临. 你的任务是设计一个有固定加热半径的供暖器向所有房屋供暖. 在加热器的加热半径范围内的每个房屋都可以获得供暖. 现在,给出位于一条水平线上的房屋 hou ...

  5. 2022-2-7 Leetcode 475.供暖器

    我的思路是在房屋的位置里面找热水器的位置,(为什么这样做不好?因为会有多个热水器 而正确的应该是在热水器里面找里房屋最近的热水器. int minRadius(vector<int>&am ...

  6. leetcode 工作每日一题 475. 供暖器 (二分 stl)

    题意: 冬季已经来临. 你的任务是设计一个有固定加热半径的供暖器向所有房屋供暖.在加热器的加热半径范围内的每个房屋都可以获得供暖.现在,给出位于一条水平线上的房屋 houses 和供暖器 heater ...

  7. 2022-01-27:供暖器。 冬季已经来临。 你的任务是设计一个有固定加热半径的供暖器向所有房屋供暖。 在加热器的加热半径范围内的每个房屋都可以获得供暖。 现在,给出位于一条水平线上的房屋 hous

    2022-01-27:供暖器. 冬季已经来临. 你的任务是设计一个有固定加热半径的供暖器向所有房屋供暖. 在加热器的加热半径范围内的每个房屋都可以获得供暖. 现在,给出位于一条水平线上的房屋 hous ...

  8. leetCode每日一题js--01供暖器

    供暖器 题目: 在加热器的加热半径范围内的每个房屋都可以获得供暖. 现在,给出位于一条水平线上的房屋 houses 和供暖器 heaters 的位置,请你找出并返回可以覆盖所有房屋的最小加热半径. 说 ...

  9. leetcode 475. Heaters | 475. 供暖器(找最后一个不大于target的值/第一个不小于target的值)

    题目 https://leetcode.com/problems/heaters/ 题解 class Solution {public int findRadius(int[] houses, int ...

最新文章

  1. 互信息 卡方 - 文本挖掘
  2. 【django】配置URLconf
  3. 图片image和byte处理,fileupload上传图片
  4. 常见电脑字符编码总结
  5. 底层技术革命是如何爆发的?_转
  6. 音视频开发(27)---H264基本原理
  7. python数据处理:数据合并和Reshaping
  8. img的属性alt 与 title的区别
  9. 计算机vfp实验小结,vfp实验1报告心得体会
  10. delphi VMP加壳 自检保护和硬件ID获取
  11. jsp内置对象与四种作用域
  12. MapGIS教程-常见问题处理
  13. 骂百度的人为何那么多
  14. 手机tim邮箱服务器密码错误,qq邮箱登录失败显示session timeout解决方法
  15. electron + fluent-ffmpeg推送桌面、音视频、窗口
  16. [附源码]PHP计算机毕业设计多肉植物屋网站(程序+LW)
  17. tftpd32.exe的安装
  18. js 校验是否合法的中国身份证
  19. JAVA用爬山法解决八皇后问题_八皇后问题爬山法实现(C语言)
  20. 改进型脉振高频注入源码 stm32工程 脉振高频注入是一种通过在d轴注入正弦电压

热门文章

  1. mysql的number类型对应的db2_【转】oracle数据库NUMBER数据类型
  2. 年薪百万程序员竟遭亲妈拍卖:才拍到10块,还不够买一盒鸡蛋!
  3. 前端开发的瓶颈与未来
  4. 常见Web技术之间的关系,你知道多少?
  5. 为什么使用%lf读取double型的值,而用%f进行显示?
  6. Qt 该文件不能在当前页码(936)中表示字符
  7. php formdata 多个图片保存_图片上传姿势以及你不知道的Typed Arrays
  8. hive metastore mysql_Hive初步使用、安装MySQL 、Hive配置MetaStore、配置Hive日志《二》...
  9. PHP 发送GET 和 POST数据的方法分析
  10. 鸿蒙升级后能恢复安卓吗,升级了鸿蒙系统怎么卸载鸿蒙系统?升级了鸿蒙还能用安卓吗?...