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

力扣3102.最小化曼哈顿距离

力扣3102.最小化曼哈顿距离

题目

在这里插入图片描述

题目解析及思路

题目要求返回移除一个点后的最小的最大曼哈顿距离

最大最小值的题一般直接想到二分

本题有一个简单办法就是利用切比雪夫距离

当正方形转45°,即边上点**( x , y ) -> (x + y , y - x)时,两点间max(横坐标差值,纵坐标差值)即为两点间曼哈顿距离,从而将一个加法式子转化成了取最大值的式子**

因此找k个点的最小曼哈顿距离就是找k个点中max(最大x-最小x,最大y-最小y)

代码

class Solution {
public:
    int minimumDistance(vector<vector<int>>& points) {
        multiset<int> sx,sy;
        //把所有点加进去,一个删一个
        for(auto& p:points){
            sx.insert(p[0] + p[1]);
            sy.insert(p[1] - p[0]);
        }

        int res = INT_MAX;
        //枚举删除每一个点
        for(auto& p:points){
            int x = p[0] + p[1] ,y = p[1] - p[0];
            sx.erase(sx.find(x));
            sy.erase(sy.find(y));

            int dx = *sx.rbegin() - *sx.begin();
            int dy = *sy.rbegin() - *sy.begin();

            res = min(res,max(dx,dy));

            sx.insert(x);
            sy.insert(y);
        }
        return res;
    }
};

相关文章:

  • linux--多进程基础(2)GDB多进程调试(面试会问)
  • 大数据开发平台的框架
  • 一个不错的API测试框架——Karate
  • 【2025深度学习环境搭建-2】pytorch+Docker+VS Code+DevContainer搭建本地深度学习环境
  • JavaAPI(lambda表达式、流式编程)
  • echarts图表初始化搭建
  • 【数据结构进阶】哈希表
  • OpenSSL 生成非对称密钥对
  • 嵌入式科普(33)深度解析C语言中的const和volatile关键字
  • 浏览器跨域问题的原因分析及常见解决方案
  • flutter Column嵌套ListView高度自适应问题
  • stm32-电源控制
  • 第N1周:one-hot编码案例
  • Mysql 主从集群同步延迟问题怎么解决
  • 启动Redis报错记录
  • Spring和MyBatis原理和核心
  • 插入排序:一种简单而直观的排序算法
  • MySQL入门
  • 费曼学习法6 - 你好,NumPy!数据分析的 “瑞士军刀” (入门篇)
  • LD_PRELOAD 绕过 disable_function 学习
  • 营销类wordpress主题/windows优化大师要会员
  • windows wordpress伪静态/seo优化工作内容
  • 怎么查网站是那个公司做的/百度网盘网页
  • 具有品牌的做网站/公司网站建设服务
  • 域名网站搭建/百度竞价推广点击软件
  • 网站的在线客服怎么做的/搜索引擎优化实训