当前位置:网站首页>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 .
边栏推荐
- sublime text 代码格式化操作
- How to insert mathematical formulas in CSDN blog
- ffmpeg命令行使用
- 解决Intel12代酷睿CPU【小核载满,大核围观】的问题(WIN11)
- 第6章 DataNode
- (POJ - 1458) common subsequence (longest common subsequence)
- MariaDB的安装与配置
- Educational Codeforces Round 130 (Rated for Div. 2)A~C
- Generate random password / verification code
- Kubernetes cluster deployment
猜你喜欢

QT implementation window gradually disappears qpropertyanimation+ progress bar

第三章 MapReduce框架原理

SF smart logistics Campus Technology Challenge (no T4)

Tree of life (tree DP)

Simply try the new amp model of deepfacelab (deepfake)

Solve the single thread scheduling problem of intel12 generation core CPU (II)

第5章 消费者组详解

第6章 DataNode

Audio and video development interview questions

Codeforces Round #797 (Div. 3)无F
随机推荐
新手必会的静态站点生成器——Gridsome
Double specific tyrosine phosphorylation regulated kinase 1A Industry Research Report - market status analysis and development prospect prediction
Solve the problem of intel12 generation core CPU [small core full, large core onlookers] (win11)
js时间函数大全 详细的讲解 -----阿浩博客
Chapter 5 yarn resource scheduler
Cmake Express
业务系统从Oracle迁移到openGauss数据库的简单记录
Soft music -js find the number of times that character appears in the string - Feng Hao's blog
Effet d'utilisation, déclenché lorsque les composants de la fonction sont montés et déchargés
SQL quick start
Specify the format time, and fill in zero before the month and days
Oneforall installation and use
Codeforces Round #797 (Div. 3)无F
Codeforces Round #802(Div. 2)A~D
Spark的RDD(弹性分布式数据集)返回大结果集
Research Report of desktop clinical chemical analyzer industry - market status analysis and development prospect prediction
Ffmpeg command line use
Anaconda下安装Jupyter notebook
第6章 Rebalance详解
Market trend report, technical innovation and market forecast of tabletop dishwashers in China