Leetcode475.Heaters供暖器
冬季已经来临。 你的任务是设计一个有固定加热半径的供暖器向所有房屋供暖。
现在,给出位于一条水平线上的房屋和供暖器的位置,找到可以覆盖所有房屋的最小加热半径。
所以,你的输入将会是房屋和供暖器的位置。你将输出供暖器的最小加热半径。
说明:
- 给出的房屋和供暖器的数目是非负数且不会超过 25000。
- 给出的房屋和供暖器的位置均是非负数且不会超过10^9。
- 只要房屋位于供暖器的半径内(包括在边缘上),它就可以得到供暖。
- 所有供暖器都遵循你的半径标准,加热的半径也一样。
示例 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供暖器相关推荐
- Heaters 供暖器
冬季已经来临. 你的任务是设计一个有固定加热半径的供暖器向所有房屋供暖. 现在,给出位于一条水平线上的房屋和供暖器的位置,找到可以覆盖所有房屋的最小加热半径. 所以,你的输入将会是房屋和供暖器的位置. ...
- leetcode475. 供暖器(二分查找)
冬季已经来临. 你的任务是设计一个有固定加热半径的供暖器向所有房屋供暖. 现在,给出位于一条水平线上的房屋和供暖器的位置,找到可以覆盖所有房屋的最小加热半径. 所以,你的输入将会是房屋和供暖器的位置. ...
- LeetCode 475. 供暖器(双指针二分查找)
文章目录 1. 题目 2. 解题 2.1 双指针 2. 二分查找 1. 题目 冬季已经来临. 你的任务是设计一个有固定加热半径的供暖器向所有房屋供暖. 现在,给出位于一条水平线上的房屋和供暖器的位置, ...
- 2022-6-5 供暖器,最小差,两地调度,峰与谷
1. 供暖器 [双指针or二分] 冬季已经来临. 你的任务是设计一个有固定加热半径的供暖器向所有房屋供暖. 在加热器的加热半径范围内的每个房屋都可以获得供暖. 现在,给出位于一条水平线上的房屋 hou ...
- 2022-2-7 Leetcode 475.供暖器
我的思路是在房屋的位置里面找热水器的位置,(为什么这样做不好?因为会有多个热水器 而正确的应该是在热水器里面找里房屋最近的热水器. int minRadius(vector<int>&am ...
- leetcode 工作每日一题 475. 供暖器 (二分 stl)
题意: 冬季已经来临. 你的任务是设计一个有固定加热半径的供暖器向所有房屋供暖.在加热器的加热半径范围内的每个房屋都可以获得供暖.现在,给出位于一条水平线上的房屋 houses 和供暖器 heater ...
- 2022-01-27:供暖器。 冬季已经来临。 你的任务是设计一个有固定加热半径的供暖器向所有房屋供暖。 在加热器的加热半径范围内的每个房屋都可以获得供暖。 现在,给出位于一条水平线上的房屋 hous
2022-01-27:供暖器. 冬季已经来临. 你的任务是设计一个有固定加热半径的供暖器向所有房屋供暖. 在加热器的加热半径范围内的每个房屋都可以获得供暖. 现在,给出位于一条水平线上的房屋 hous ...
- leetCode每日一题js--01供暖器
供暖器 题目: 在加热器的加热半径范围内的每个房屋都可以获得供暖. 现在,给出位于一条水平线上的房屋 houses 和供暖器 heaters 的位置,请你找出并返回可以覆盖所有房屋的最小加热半径. 说 ...
- leetcode 475. Heaters | 475. 供暖器(找最后一个不大于target的值/第一个不小于target的值)
题目 https://leetcode.com/problems/heaters/ 题解 class Solution {public int findRadius(int[] houses, int ...
最新文章
- 互信息 卡方 - 文本挖掘
- 【django】配置URLconf
- 图片image和byte处理,fileupload上传图片
- 常见电脑字符编码总结
- 底层技术革命是如何爆发的?_转
- 音视频开发(27)---H264基本原理
- python数据处理:数据合并和Reshaping
- img的属性alt 与 title的区别
- 计算机vfp实验小结,vfp实验1报告心得体会
- delphi VMP加壳 自检保护和硬件ID获取
- jsp内置对象与四种作用域
- MapGIS教程-常见问题处理
- 骂百度的人为何那么多
- 手机tim邮箱服务器密码错误,qq邮箱登录失败显示session timeout解决方法
- electron + fluent-ffmpeg推送桌面、音视频、窗口
- [附源码]PHP计算机毕业设计多肉植物屋网站(程序+LW)
- tftpd32.exe的安装
- js 校验是否合法的中国身份证
- JAVA用爬山法解决八皇后问题_八皇后问题爬山法实现(C语言)
- 改进型脉振高频注入源码 stm32工程 脉振高频注入是一种通过在d轴注入正弦电压
热门文章
- mysql的number类型对应的db2_【转】oracle数据库NUMBER数据类型
- 年薪百万程序员竟遭亲妈拍卖:才拍到10块,还不够买一盒鸡蛋!
- 前端开发的瓶颈与未来
- 常见Web技术之间的关系,你知道多少?
- 为什么使用%lf读取double型的值,而用%f进行显示?
- Qt 该文件不能在当前页码(936)中表示字符
- php formdata 多个图片保存_图片上传姿势以及你不知道的Typed Arrays
- hive metastore mysql_Hive初步使用、安装MySQL 、Hive配置MetaStore、配置Hive日志《二》...
- PHP 发送GET 和 POST数据的方法分析
- 鸿蒙升级后能恢复安卓吗,升级了鸿蒙系统怎么卸载鸿蒙系统?升级了鸿蒙还能用安卓吗?...