题目链接:1.最小化战斗力差距 - 蓝桥云课 (lanqiao.cn)
可分析,把一个数组分成两组,求一组的最大值与另一组的最小值的差值的绝对值最小,可以转换为求任意两个相邻数字之间的最小插值的绝对值。
可看图示:
package lanqiao;import java.util.Arrays;
import java.util.Scanner;/*** 2023/11/29*/
public class lanqiao3412_最小化战斗力差距 {public static void main(String[] args) {Scanner scan=new Scanner(System.in);int n=scan.nextInt();int[] a=new int[n];for (int i=0;i<n;i++)a[i]=scan.nextInt();Arrays.sort(a);int min=Integer.MAX_VALUE;for (int i=0;i<n-1;i++){min=Math.min(min,a[i+1]-a[i]);}System.out.println("最小战斗力差距为:"+min);}
}
3
1 2 3
最小战斗力差距为:1进程已结束,退出代码为 0