题解 | #画展布置#

画展布置

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;
    }
}
全部评论
点赞 回复 分享
发布于 04-07 20:33 上海

相关推荐

评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务