0%

leetCode 1552题

题目如下

https://leetcode.com/problems/magnetic-force-between-two-balls/

这里是按照二分查找数据的原理处理的,原理如下:

一个数组,下标为最小的距离,数组元素为最多可以容纳的球的数量。

这个数组单调递增。不过会有重复元素的出现,比如 n~m的距离,容纳的球的数量都是D个。这种情况下,m即为结果。

解题思路如下:

https://leetcode.com/problems/magnetic-force-between-two-balls/discuss/794070/PythonC%2B%2B-Binary-search-solution-with-explanation-and-similar-questions

之所以是用

int mid = r - (r - l) / 2;

来查找中间位置,是因为需要通过这个找到最右边的m。