最佳植树距离

#include <iostream>

#include <algorithm>

#include <vector>

using namespace std;

int minSpace(vector<int>& holes, int target)

{

sort(holes.begin(), holes.end());

int left = 0;

int right = holes.back() - holes.front();

int answer = -1;

while (left <= right)

{

int mid = left + (right - left) / 2;

int count = 1;

int previous = holes[0];

for (int i = 1; i < holes.size(); i++)

{

if (holes[i] - previous >= mid)

{

count++;

previous = holes[i];

if (count >= target)

{

answer = mid;

left = mid + 1;

break;

}

}

}

if (count < target)

{

right = mid - 1;

}

}

return answer;

}

int main()

{

int n;

cin >> n;

vector<int> holes(n);

for (int i = 0; i < n; i++)

{

cin >> holes[i];

}

int target;

cin >> target;

int result = minSpace(holes, target);

cout << result << endl;

return 0;

}

相关推荐
陶陶name2 分钟前
Metal Compute Pipeline:Metal-C++ 环境配置与简单算子实现
开发语言·c++
无限进步_3 分钟前
寻找数组中缺失数字:多种算法详解与比较
c语言·开发语言·数据结构·算法·排序算法·visual studio
凌康ACG3 分钟前
Sciter之子线程更新UI(八)
c++·sciter
多恩Stone8 分钟前
【3DV 进阶-9】Hunyuan3D2.1 中的 MoE
人工智能·pytorch·python·算法·aigc
xu_yule10 分钟前
数据结构(4)链表概念+单链表实现
数据结构·算法·链表
你的冰西瓜17 分钟前
C++23 新特性详解:相较于 C++20 的主要改进
开发语言·c++·stl·c++23
代码栈上的思考24 分钟前
二叉树的层序遍历:4道例题讲解
算法·宽度优先·队列在宽度优先搜索中的应用
浔川python社24 分钟前
C++ 之父中国行・40 周年城市站 —— 北京 & 上海开发者见面日报名链接暂不对外开放公告
c++
杰瑞不懂代码27 分钟前
【公式推导】AMP算法比BP算法强在哪(二)
python·算法·机器学习·概率论
野蛮人6号28 分钟前
力扣热题100道之45跳跃游戏2
算法·leetcode·游戏