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

企业运营网站建设免费引流人脉推广软件

企业运营网站建设,免费引流人脉推广软件,网站建设员,深圳罗湖医疗集团网站建设力扣3464. 正方形上的点之间的最大距离 题目 题目解析及思路 题目要求在points集合中找出k个点,k个点之间的最小的曼哈顿距离的最大值 最大最小值的题一般直接想到二分 将正方形往右展开成一条线,此时曼哈顿距离为两点直线距离**(仅起点右边的点)** …

力扣3464. 正方形上的点之间的最大距离

题目

在这里插入图片描述

题目解析及思路

题目要求在points集合中找出k个点,k个点之间的最小的曼哈顿距离的最大值

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

将正方形往右展开成一条线,此时曼哈顿距离为两点直线距离**(仅起点右边的点)**

枚举起点二分答案,每次用二分找到>= st + mid的最近的点

代码

class Solution {
public:int maxDistance(int side, vector<vector<int>>& points, int k) {vector<long long> a;for(auto& p:points){int x = p[0],y = p[1];if (x == 0) {a.push_back(y);} else if (y == side) {a.push_back(side + x);} else if (x == side) {a.push_back(side * 3LL - y);} else {a.push_back(side * 4LL - x);}}ranges::sort(a);auto check = [&](int mid)->bool{//枚举起点for(long long st : a){//最右边的点的边界,当坐标超过边界时,该点与起点的距离已经<mid了,不满足条件long long end = side * 4LL + st - mid;long long cur = st;//找剩下k-1个点for(int i=0;i<k-1;i++){auto it = ranges::lower_bound(a,cur+mid);if(it == a.end() || *it > end){cur = -1;break;}cur = *it;}if(cur > 0){return true;}}return false;};int l = 1,r = side+1;while(l+1 < r){int mid = l + (r - l) / 2;if(check(mid)) l = mid;else r = mid;}return l;}
};
http://www.dtcms.com/wzjs/64991.html

相关文章:

  • 网站开发需要那些人才网站制作的服务怎么样
  • 建一个门户网站要多少钱优化电池充电什么意思
  • 工程项目信息网百度seo优化排名如何
  • 扶余网站建设百度号码认证平台首页
  • 可以下载新闻视频的网站吸引人的软文标题
  • dede5.7 做的网站 下 加一个discuz论坛西安网站制作价格
  • 太原网站排名推广魔方优化大师官网下载
  • 动态网站开发技术论文石家庄最新新闻事件
  • 太原工程建设信息网站上海短视频seo优化网站
  • 旅游网站建设规划书主题网站友情链接美化代码
  • 低价网站建设缅甸最新新闻
  • 网站内容上传网上软文发稿平台
  • 哪个网站可以做经济模拟题网络营销培训课程
  • 网站建设dbd3平台app如何推广
  • 中国建设工程造价管理协会网站浙江搜索引擎优化
  • 有哪些网站是中国风网站seo按照搜索引擎的什么对网站
  • 南靖网站建设百度网页打不开
  • 兰州网站建设网站建设站长工具在线免费
  • 香港个人网站可以做商业的搜索引擎的工作原理是什么?
  • 广州网站建设支付公司培训课程有哪些
  • 太原模板建站seo建站
  • 怎样做机械租赁的网站百度销售平台怎样联系
  • 512m内存做网站网站优化推广seo
  • 五华网站建设 优帮云广告联盟赚钱app
  • 哪个网站可以做私单账号权重查询入口站长工具
  • 东光网站建设合肥seo
  • java做网站的多么产品推广计划方案
  • 本机可以做网站的服务器吗商丘seo教程
  • 不使用域名做网站百度网站打不开
  • 自己做的网站怎么显示表格边框全球网络营销公司排名