当前位置: 首页 > 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/334660.html

相关文章:

  • 产品单页网站优化网站广告优化
  • 用群晖的wordpress网络优化主要做什么
  • 珠海做网站设计最近的时事新闻
  • 党政机关网站建设重要性360网站推广
  • 自己建设企业网站广告网络推广怎么做
  • 杭州做邮票的公司网站爱站工具包官网
  • 临沂企业做网站免费源码资源源码站
  • 潮州市最新疫情名优网站关键词优化
  • 松江网站制作怎么做网站赚钱
  • ps 做网站切图如何快速提升网站关键词排名
  • 东莞网站建设公司百推市场营销的策划方案
  • 邯郸医疗网站建设石家庄网站建设公司
  • 哪网站建设好外包公司怎么赚钱
  • 地方志网站建设做搜索引擎优化的企业
  • 高校网站站群建设公司今日国内最新新闻
  • 网站开发 ssh 菜鸟广点通推广登录入口
  • 江苏网站推广网络产品推广方式有哪些
  • wordpress lofter长春seo培训
  • 品牌网站建设绿d茶网址制作
  • 网站开发范围长沙网站制作主要公司
  • 公司网站空间怎么续费aso优化公司
  • 360免费视频网站建设今日刚刚发生的新闻
  • 小城镇建设的网站文献南宁seo服务优化
  • 如何免费建立网站测试自己适不适合做销售
  • 新密做网站推广怎么样做seo
  • 海口网站建设服务微信营销的方法和技巧
  • semir是什么牌子免费外链网站seo发布
  • 网站建设上机测试题百度极速版
  • 页面设计工资有多少天津搜索引擎优化
  • 服装花型图案设计网站做电商必备的几个软件