1-5 最大间隙问题
问题描述
给定 n 个实数,求这n个实数在数轴上相邻2个数之间的最大差值,设计解最大间隙问题的线性时间算法。
分析
可用抽屉原理设计最大间隙问题的线性时间算法。
Java
import java.math.BigDecimal;
public class Main {
public static void main(String[] args) {
//case 1: max gap is 6.3 -3.1 = 3.2
double[] numbers = {
2.3, 3.1, 7.5, 1.5, 6.3};
//case 2: max gap is 7.5 - 3.2 = 4.3
// double[] numbers = {2.3, 3.1, 7.5, 1.5, 3.2};
//case 3: max gap is 6.1 - 1.5 = 4.6
// double[] numbers = {6.1, 6.1, 7.5, 1.5, 6.3};
//case 4: max gap is 7.5 - 5.2 = 2.3
// double[] numbers = {2.3, 3.1, 7.5, 1.5, 5.2};
int n = numbers.length;
double maxGap = getMaxGap(n, numbers);
System.out.println("The max gap is: "+maxGap);