题解 | #画展布置#
画展布置
https://www.nowcoder.com/practice/4082da66f6034a1d9b6a7206e1d0445a
煞费苦心的牛客,杜撰了一个“画展的不和谐度”。化简之后,你就会说,这么简单的滑动窗口定义。 具体代码:
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;
}
}
查看14道真题和解析