当前位置:网站首页>LeetCode 1552. Magnetic force between two balls
LeetCode 1552. Magnetic force between two balls
2022-07-06 16:42:00 【Daylight629】
1552. The magnetic force between the two balls
Under the code name C-137 On the earth ,Rick Found that if he put two balls in his newly invented basket , There will be a special form of magnetic force between them .Rick Yes n An empty basket , The first i The position of the basket is position[i] ,Morty Want to put m Put a ball in these baskets , Between any two balls Minimum magnetic force Maximum .
It is known that if two balls are located at x and y , Then the magnetic force between them is |x - y| .
Give you an array of integers position And an integer m , Please return to maximize the minimum magnetic force .
Example 1:

Input :position = [1,2,3,4,7], m = 3
Output :3
explain : take 3 Put the balls in the 1,4 and 7 The three baskets , The magnetic force between the two balls is [3, 3, 6]. The minimum magnetic force is 3 . We can't make the minimum magnetic force greater than 3 .
Example 2:
Input :position = [5,4,3,2,1,1000000000], m = 2
Output :999999999
explain : We use the 1 and 1000000000 The basket has the minimum magnetic force and the maximum .
Tips :
n == position.length2 <= n <= 10^51 <= position[i] <= 10^9- all
positionThe integer Different from each other . 2 <= m <= position.length
Two 、 Method 1
Two points search
class Solution {
public int maxDistance(int[] position, int m) {
Arrays.sort(position);
int l = 1;
int r = position[position.length - 1] - position[0];
int res = -1;
while (l <= r) {
int mid = l + ((r - l) >> 1);
if (check(mid, position, m)) {
res = mid;
l = mid + 1;
} else {
r = mid - 1;
}
}
return res;
}
public boolean check(int x, int[] position, int m) {
int pre = position[0];
int cnt = 1;
for (int i = 1; i < position.length; i++) {
if (position[i] - pre >= x) {
pre = position[i];
cnt++;
}
}
return cnt >= m;
}
}
Complexity analysis
Time complexity :O(nlog(nS)), among n Is the number of baskets ,S Is the upper limit of basket position . Sorting basket positions requires O(nlogn) Time complexity of , Binary search divides the basket position interval , need O(logS) Time complexity of . Whether the statistical answer meets the requirements every time O(n) Time complexity of , So the total time complexity is O(nlogn+nlogS)=O(nlog(nS)).
Spatial complexity :O(logn), That is, the stack space required for sorting .
边栏推荐
- (POJ - 1458) common subsequence (longest common subsequence)
- Specify the format time, and fill in zero before the month and days
- Native JS realizes the functions of all selection and inverse selection -- Feng Hao's blog
- Educational Codeforces Round 122 (Rated for Div. 2)
- Remove the border when input is focused
- Codeforces Round #799 (Div. 4)A~H
- Educational Codeforces Round 130 (Rated for Div. 2)A~C
- Research Report on market supply and demand and strategy of China's tetraacetylethylenediamine (TAED) industry
- MariaDB的安装与配置
- Codeforces Round #798 (Div. 2)A~D
猜你喜欢

QT realizes window topping, topping state switching, and multi window topping priority relationship

Detailed explanation of FLV format

SQL quick start

解决Intel12代酷睿CPU单线程只给小核运行的问题

Discussion on QWidget code setting style sheet
![Solve the problem of intel12 generation core CPU [small core full, large core onlookers] (win11)](/img/92/9465a6c9f1ab88c4851a47fabe750c.jpg)
Solve the problem of intel12 generation core CPU [small core full, large core onlookers] (win11)

Mp4 format details

两个礼拜速成软考中级软件设计师经验

视频压缩编码和音频压缩编码基本原理

图像处理一百题(1-10)
随机推荐
Submit several problem records of spark application (sparklauncher with cluster deploy mode)
Input can only input numbers, limited input
QT realizes window topping, topping state switching, and multi window topping priority relationship
Remove the border when input is focused
Detailed explanation of FLV format
Acwing: the 56th weekly match
Research Report on market supply and demand and strategy of double drum magnetic separator industry in China
Codeforces round 797 (Div. 3) no f
ByteDance new programmer's growth secret: those glittering treasures mentors
Discussion on QWidget code setting style sheet
第五章 Yarn资源调度器
Codeforces Round #802(Div. 2)A~D
Codeforces Global Round 19
Acwing: Game 58 of the week
Anaconda下安装Jupyter notebook
(POJ - 3186) treatments for the cows (interval DP)
Chapter 5 namenode and secondarynamenode
Research Report on market supply and demand and strategy of China's four seasons tent industry
第5章 NameNode和SecondaryNameNode
Market trend report, technological innovation and market forecast of China's double sided flexible printed circuit board (FPC)