LeetCode 0774. Minimize Max Distance to Gas Station Solution in Java, C++, Python & Go | Explanation + Code

CoderIndeed
0
0774. Minimize Max Distance to Gas Station

Description

You are given an integer array stations that represents the positions of the gas stations on the x-axis. You are also given an integer k.

You should add k new gas stations. You can add the stations anywhere on the x-axis, and not necessarily on an integer position.

Let penalty() be the maximum distance between adjacent gas stations after adding the k new stations.

Return the smallest possible value of penalty(). Answers within 10-6 of the actual answer will be accepted.

 

Example 1:

Input: stations = [1,2,3,4,5,6,7,8,9,10], k = 9
Output: 0.50000

Example 2:

Input: stations = [23,24,36,39,46,56,57,65,84,98], k = 1
Output: 14.00000

 

Constraints:

  • 10 <= stations.length <= 2000
  • 0 <= stations[i] <= 108
  • stations is sorted in a strictly increasing order.
  • 1 <= k <= 106

Solutions

Solution 1

PythonJavaC++Go
class Solution: def minmaxGasDist(self, stations: List[int], k: int) -> float: def check(x): return sum(int((b - a) / x) for a, b in pairwise(stations)) <= k left, right = 0, 1e8 while right - left > 1e-6: mid = (left + right) / 2 if check(mid): right = mid else: left = mid return left(code-box)

Post a Comment

0Comments

Post a Comment (0)

#buttons=(Accept !) #days=(20)

Our website uses cookies to enhance your experience. Check Now
Accept !