leetcode 工作每日一题 475. 供暖器 (二分 stl)
题意:
冬季已经来临。 你的任务是设计一个有固定加热半径的供暖器向所有房屋供暖。在加热器的加热半径范围内的每个房屋都可以获得供暖。现在,给出位于一条水平线上的房屋 houses 和供暖器 heaters 的位置,请你找出并返回可以覆盖所有房屋的最小加热半径。
思路:
可以二分写,但会多一个log,其实双指针on 能做的应该,无非就是找到离房子最近的供暖器,然后每个房子取max即可。
复杂度O(housesize∗log(heatsize))O( housesize * log(heatsize))O(housesize∗log(heatsize))
C++code:
class Solution {public:int findRadius(vector<int>& houses, vector<int>& heaters) {int n=houses.size();sort(houses.begin(),houses.end());sort(heaters.begin(),heaters.end());int maxv=0;heaters.push_back(2e9);for(int i=0;i<n;i++){auto it=lower_bound(heaters.begin(),heaters.end(),houses[i]);int minv=abs(*it-houses[i]);if(it!=heaters.begin())it--,minv=min(minv,abs(*it-houses[i]));maxv=max(maxv,minv);}return maxv;}
};
leetcode 工作每日一题 475. 供暖器 (二分 stl)相关推荐
- leetCode每日一题js--01供暖器
供暖器 题目: 在加热器的加热半径范围内的每个房屋都可以获得供暖. 现在,给出位于一条水平线上的房屋 houses 和供暖器 heaters 的位置,请你找出并返回可以覆盖所有房屋的最小加热半径. 说 ...
- LeetCode 475. 供暖器(双指针二分查找)
文章目录 1. 题目 2. 解题 2.1 双指针 2. 二分查找 1. 题目 冬季已经来临. 你的任务是设计一个有固定加热半径的供暖器向所有房屋供暖. 现在,给出位于一条水平线上的房屋和供暖器的位置, ...
- 2022-2-7 Leetcode 475.供暖器
我的思路是在房屋的位置里面找热水器的位置,(为什么这样做不好?因为会有多个热水器 而正确的应该是在热水器里面找里房屋最近的热水器. int minRadius(vector<int>&am ...
- 【LeetCode笔记 - 每日一题】375. 猜数字游戏 II (Java、DFS、动态规划)
文章目录 题目描述 思路 && 代码 DFS 动态规划 新系列-用于区分开高频题和每日一题- 题目描述 一眼二分,但是实际上并不是 这题让我想到社团的猜数字游戏-但是给钱是真过分了= ...
- leetcode 475. Heaters | 475. 供暖器(找最后一个不大于target的值/第一个不小于target的值)
题目 https://leetcode.com/problems/heaters/ 题解 class Solution {public int findRadius(int[] houses, int ...
- 【Leetcode】每日一题打卡(64)
1619. 删除某些元素后的数组均值 - 简单ac class Solution { public:double trimMean(vector<int>& arr) {sort( ...
- LeetCode【每日一题】 1095. 山脉数组中查找目标值
题目 1095. 山脉数组中查找目标值 (这是一个 交互式问题 ) 给你一个 山脉数组 mountainArr,请你返回能够使得 mountainArr.get(index) 等于 target 最小 ...
- 【LeetCode笔记 - 每日一题】373. 查找和最小的 K 对数字(Java、堆、优先队列)
文章目录 题目描述 思路 && 代码 题目描述 几天没打题,感觉脑子都是一团浆糊.... 升序:肯定得用这条件来优化复杂度 数对:用 int[2] 来表示 思路 && ...
- 【LeetCode笔记 - 每日一题】384. 打乱数组(Java、洗牌算法)
文章目录 题目描述 思路 && 代码 题目描述 中等题,很赞!第一次碰到涉及洗牌算法的题 有点涉及概率,主要是要实现公平的随机 思路 && 代码 采用了 Knuth 洗 ...
最新文章
- MSTAR SETBOX 常用API
- Java-工具类之发送邮件
- Java 动态代理介绍及用法
- 浅谈电磁学——基本电现象
- usb5-写成usb驱动
- shop--7.店铺编辑和列表--店铺列表展示 前端
- docker修改php.ini,docker部署更改php的upload_max_filesize
- 10、python图像识别库tesseract下载及配置
- flash作业_在线作业产品的基本构成与逻辑分解
- MFC中子类调用父类成员
- O_RDONLY/O_NOATIME undeclared (first use in this function
- Rabbit基础概念
- WSO2 文件上传 (CVE-2022-29464)漏洞复现
- Redis存储购物车
- 《淘宝网开店 拍摄 修图 设计 装修 实战150招》一一2.9 疏密相间构图法
- xlWarKey v2.0 手记
- 这套制造行业数字化解决方案,超过一半的世界五百强的中国制造型企业都在用!
- 传感器技术—气敏电阻式传感器(学习笔记四)
- 转录组入门(5): 序列比对
- 程序交易进阶的四个步骤