力扣475.供暖器

力扣475.供暖器

  • 二分答案

    • 排序之后双指针从前往后对每一个房子做判断
cpp 复制代码
  class Solution {
  public:
      int findRadius(vector<int>& houses, vector<int>& heaters) {
          int n = houses.size(),m = heaters.size();
          ranges::sort(houses);
          ranges::sort(heaters);
          auto check = [&](int r) -> bool
          {
              for(int i=0,j=0;i<n;i++)
              {
                  while(j<m && houses[i] > heaters[j] + r) j++;
                  if(j<m && heaters[j] - r <= houses[i] && houses[i] <= heaters[j] + r) continue;
                  return false;
              }
              return true; 
          };
          int l = 0,r = (int)1e9;
          while(l<r)
          {
              int mid = l + r >> 1;
              if(check(mid)) r = mid;
              else l = mid + 1;
          }
          return r;
      }
  };
相关推荐
We་ct4 分钟前
LeetCode 12. 整数转罗马数字:从逐位实现到规则复用优化
前端·算法·leetcode·typescript
绿算技术6 分钟前
重塑智算存储范式:绿算技术NVMe-oF芯片解决方案全景剖析
人工智能·算法·gpu算力
sin_hielo19 分钟前
leetcode 3510
数据结构·算法·leetcode
Anastasiozzzz29 分钟前
力扣hot100 20.有效的括号 解析
java·算法·面试·力扣
苦藤新鸡30 分钟前
29.删除倒数第N个节点
数据结构·链表·力扣
CrazyClaz34 分钟前
负载均衡算法
算法·负载均衡
重生之我是Java开发战士42 分钟前
【数据结构】Map、Set与哈希表底层原理
java·数据结构·散列表
嵌入式小能手43 分钟前
飞凌嵌入式ElfBoard-系统信息与资源之休眠
c语言·开发语言·算法
橘子师兄44 分钟前
C++AI大模型接入SDK—API接入大模型思路
开发语言·数据结构·c++·人工智能
tobias.b1 小时前
408真题解析-2010-4-数据结构-平衡二叉树插入
数据结构·计算机考研·408真题解析