LeetCode 774, Hard. Topics: Array, Binary Search. View on LeetCode.
Generate this problem as a practice environment: tested reference solution, 12 parametrized pytest cases, and a playground notebook:
Problem
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.
Examples
Constraints
- 10 <= stations.length <= 2000
- 0 <= stations[i] <= 10^8
- stations is sorted in a strictly increasing order.
- 1 <= k <= 10^6
Solution
Reference implementation from solution.py on GitHub, full suite in test_solution.py:
Complexity
NeetCode All. Last modified on September 7, 2026