煞费苦心的牛客,杜撰了一个“画展的不和谐度”。化简之后,你就会说,这么简单的滑动窗口定义。 具体代码:

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int N = in.nextInt();
        int M = in.nextInt();
        long[] data = new long[N];
        for (int i = 0; i < N; i++) {
            data[i] = in.nextLong();
        }
        System.out.println(minPicGroup(data, M));
    }

    public static long minPicGroup(long[] data, int M) {
        Arrays.sort(data);
        int i = 0;
        int j = M - 1;
        long min = Long.MAX_VALUE;
        while (j < data.length) {
            // 计算窗口
            long value = data[j] * data[j] - data[i] * data[i];
            min = Math.min(min, value);
            // 走,去下一个窗口
            i++;
            j++;
        }
        return min;
    }
}