当前位置: 代码迷 >> 综合 >> Leetcode 1552. 两球之间的磁力(DAY 183)---- 二分查找学习期(好题)
  详细解决方案

Leetcode 1552. 两球之间的磁力(DAY 183)---- 二分查找学习期(好题)

热度:78   发布时间:2023-11-17 17:07:45.0

文章目录

    • 原题题目
    • 代码实现(首刷自解)


原题题目


在这里插入图片描述


代码实现(首刷自解)


class Solution {
    
public:bool judge(vector<int>& position,int diff,int m){
    int now_ball = 1,ball_pos = 0;for(int i=1;i<position.size();++i){
    if(position[i] - position[ball_pos] >= diff){
    ++now_ball;ball_pos = i;}if(now_ball >= m)   return true;}return false;}int maxDistance(vector<int>& position, int m) {
    sort(position.begin(),position.end());int left = 1,right = position.back()-position[0];while(left < right){
    int mid = (left + right + 1)/2;if(!judge(position,mid,m))  right = mid-1;else    left = mid;}return left;}
};