当前位置:网站首页>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 .
边栏推荐
- Use JQ to realize the reverse selection of all and no selection at all - Feng Hao's blog
- Ffmpeg command line use
- FLV格式详解
- QT implementation window gradually disappears qpropertyanimation+ progress bar
- 腾讯面试算法题
- Li Kou - 298th weekly match
- Click QT button to switch qlineedit focus (including code)
- China double brightening film (dbef) market trend report, technical dynamic innovation and market forecast
- (lightoj - 1323) billiard balls (thinking)
- Research Report on market supply and demand and strategy of China's four flat leadless (QFN) packaging industry
猜你喜欢

拉取分支失败,fatal: ‘origin/xxx‘ is not a commit and a branch ‘xxx‘ cannot be created from it

QT implementation fillet window

Chapter 5 detailed explanation of consumer groups

Submit several problem records of spark application (sparklauncher with cluster deploy mode)

Simply try the new amp model of deepfacelab (deepfake)

Detailed explanation of FLV format

Use JQ to realize the reverse selection of all and no selection at all - Feng Hao's blog

第6章 DataNode

Chapter III principles of MapReduce framework

业务系统兼容数据库Oracle/PostgreSQL(openGauss)/MySQL的琐事
随机推荐
Codeforces Round #802(Div. 2)A~D
Codeforces Round #771 (Div. 2)
Tree of life (tree DP)
Raspberry pie 4b64 bit system installation miniconda (it took a few days to finally solve it)
875. 爱吃香蕉的珂珂 - 力扣(LeetCode)
力扣leetcode第 280 场周赛
SQL快速入门
第五章 Yarn资源调度器
Tencent interview algorithm question
MariaDB的安装与配置
Problem - 1646C. Factorials and Powers of Two - Codeforces
我在字节跳动「修电影」
Chapter 5 namenode and secondarynamenode
(lightoj - 1236) pairs forming LCM (prime unique decomposition theorem)
Specify the format time, and fill in zero before the month and days
MP4格式详解
Codeforces Round #803 (Div. 2)A~C
China tetrabutyl urea (TBU) market trend report, technical dynamic innovation and market forecast
Installation and use of VMware Tools and open VM tools: solve the problems of incomplete screen and unable to transfer files of virtual machines
input 只能输入数字,限定输入