解法一:贪心 package com.hs.java; import java.util.Scanner; public class MinDiff { public int[] findMax(int[] a) { int[] rt_a = new int[2]; int tag = -99; int tagid = -99; for (int i = 0; i < a.length; i++) { if (a[i]>=0 && a[i]>tag) { tag = a[i]; tagid = i; } } rt_a[0] = tagid; rt_a[1] = tag; return rt_a; } public int[] findMin(int[] a) { int[] rt_a = new int[2]; int tag = 100; int tagid = -99; for (int i = 0; i < a.length; i++) { if (a[i]>=0 && a[i]<tag) { tag = a[i]; tagid = i; } } rt_a[0] = tagid; rt_a[1] = tag; return rt_a; } public int rt_mix(int[] a) { int mix_len = a.length/2; int[] mixarr = new int[mix_len]; for (int i = 0; i < mixarr.length; i++) { int[] maxtag = findMax(a); int[] mintag = findMin(a); a[maxtag[0]] = -999; a[mintag[0]] = -999; mixarr[i] = maxtag[1] + mintag[1]; // System.out.println(mixarr[i]); }