java小明有N个鸡蛋,每个鸡蛋各有重量,现在小明想找M个重量差距最小的鸡蛋摆成一盒出售 ,输出符合条件的最重一盒鸡蛋的总重量

简介: java小明有N个鸡蛋,每个鸡蛋各有重量,现在小明想找M个重量差距最小的鸡蛋摆成一盒出售 ,输出符合条件的最重一盒鸡蛋的总重量
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int N = scanner.nextInt();
        int M = scanner.nextInt();
        ArrayList<Double> weight = new ArrayList<>();
        for (int i = 0; i < N; i++) {
            weight.add(scanner.nextDouble());
        }
        Collections.sort(weight, new Comparator<Double>() {
            @Override
            public int compare(Double o1, Double o2) {
                if (o1 > o2) {
                    return 1;
                }else if (o1 == o2){
                    return 0;
                }else return -1;
            }
        });
        double smallValue = weight.get(M-1) - weight.get(0);
        double maxSum = 0.00;
        for (int i = 0; i < N-M; i++) {
            double sum = 0.0;
            double differValue = weight.get(i+M-1) - weight.get(i);
            for (int j = 0; j < M; j++) {
                sum += weight.get(i+j);
            }
            if (differValue <= smallValue){
                smallValue = differValue;
                maxSum = sum;
            }
        }
        System.out.printf("%.2f",maxSum);
    }
}
相关文章
|
7月前
|
Java
【Java基础】Java8 使用 stream().filter()过滤List对象(查找符合条件的对象集合)
【Java基础】Java8 使用 stream().filter()过滤List对象(查找符合条件的对象集合)
118 0
|
设计模式 Java 应用服务中间件
Java 如何正确地输出日志
日志就是记录程序的运行轨迹,方便查找关键信息,也方便快速定位解决问题。
Java 如何正确地输出日志
运用Java的for循环输出指定条件的素数
运用Java的for循环输出指定条件的素数
运用Java的for循环输出指定条件的素数
|
Java
解决Java servlet中文输出为问号的问题
解决Java servlet中文输出为问号的问题
289 0
|
Java
给定一个字符串和一个子串。子串中的字符可能重复,输出子串出现的次数。(Java实现)
给定一个字符串和一个子串。子串中的字符可能重复,输出子串出现的次数。(Java实现)
101 0
给定一个字符串和一个子串。子串中的字符可能重复,输出子串出现的次数。(Java实现)
|
算法 Java
三叉树的垂直输出(Java实现)
三叉树的垂直输出(Java实现)
180 0
三叉树的垂直输出(Java实现)
|
Java
详解Java集合(含代码输出结果)
我们常用的集合 List Set Map 各有优点缺点 实现类无非ArrayList/LinkedList/HashSet/TreeSet/LinkedHashSet/HashMap/TreeMap/LinkedHashMap
217 1
详解Java集合(含代码输出结果)
|
Java 数据挖掘
Java练习——for循环语句案例(输出数据、求和、求偶数和、水仙花、统计)需求、分析、代码
for循环语句案例(输出数据、求和、求偶数和、水仙花、统计)需求、分析、代码!
|
Java
Java输出文件流
Java输出文件流
122 0
|
Java 数据安全/隐私保护
java 加密、解密工具类 (相同入参 加密输出结果不同)
java 加密、解密工具类 (相同入参 加密输出结果不同)
131 0