当前位置:网站首页>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 .
边栏推荐
- Ffmpeg command line use
- Simply try the new amp model of deepfacelab (deepfake)
- Anaconda下安装Jupyter notebook
- MariaDB的安装与配置
- VMware Tools和open-vm-tools的安装与使用:解决虚拟机不全屏和无法传输文件的问题
- CMake Error: Could not create named generator Visual Studio 16 2019解决方法
- Codeforces Global Round 19
- 力扣leetcode第 280 场周赛
- SF smart logistics Campus Technology Challenge (no T4)
- Audio and video development interview questions
猜你喜欢

Problem - 922D、Robot Vacuum Cleaner - Codeforces

Li Kou - 298th weekly match

Sublime text code formatting operation

Discussion on QWidget code setting style sheet

ByteDance new programmer's growth secret: those glittering treasures mentors

提交Spark应用的若干问题记录(sparklauncher with cluster deploy mode)

Chapter 5 yarn resource scheduler

300th weekly match - leetcode

软通乐学-js求字符串中字符串当中那个字符出现的次数多 -冯浩的博客

第5章 NameNode和SecondaryNameNode
随机推荐
Codeforces Round #800 (Div. 2)AC
去掉input聚焦时的边框
QT implementation window gradually disappears qpropertyanimation+ progress bar
第7章 __consumer_offsets topic
解决Intel12代酷睿CPU单线程调度问题(二)
Research Report on market supply and demand and strategy of double drum magnetic separator industry in China
图像处理一百题(11-20)
CMake Error: Could not create named generator Visual Studio 16 2019解决方法
Market trend report, technical innovation and market forecast of double-sided foam tape in China
Advancedinstaller installation package custom action open file
(lightoj - 1236) pairs forming LCM (prime unique decomposition theorem)
Research Report of desktop clinical chemical analyzer industry - market status analysis and development prospect prediction
Basic principles of video compression coding and audio compression coding
MariaDB的安装与配置
Solve the problem of intel12 generation core CPU [small core full, large core onlookers] (win11)
简单尝试DeepFaceLab(DeepFake)的新AMP模型
拉取分支失败,fatal: ‘origin/xxx‘ is not a commit and a branch ‘xxx‘ cannot be created from it
指定格式时间,月份天数前补零
Research Report on market supply and demand and strategy of Chinese table lamp industry
SF smart logistics Campus Technology Challenge (no T4)