Java练习题2020-4

小明今天收了N个鸡蛋,每个鸡蛋各有重量,现在小明想找M个重量差距最小的鸡蛋摆成一盒出售,输出符合条件的最重一盒鸡蛋的总重量
输入说明:第一行,鸡蛋个数N(N<1000)  每盒个数M(M 输出说明:符合条件的最重一盒鸡蛋的总重量(保留2位小数)
输入样例:8 4
11  9 12 5 10 19 8 6
输出样例:42.00

Java练习题2020-4_第1张图片

package _2020Ti;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;

/*
小明今天收了N个鸡蛋,每个鸡蛋各有重量,
现在小明想找M个重量差距最小的鸡蛋摆成一盒出售,
输出符合条件的最重一盒鸡蛋的总重量
输入说明:第一行,鸡蛋个数N(N<1000)  每盒个数M(M list = new ArrayList<>();
        //装每盒鸡蛋 重量
        List list2 = new ArrayList<>();
        Scanner scanner = new Scanner(System.in);
        String line = scanner.nextLine();
        String[] s1 = line.split(" ");

        String line2 = scanner.nextLine();
        String[] s2 = line2.split(" ");

     // 鸡蛋加入了集合并排序
        for (int i = 0; i < s2.length; i++) {
            list.add(Double.parseDouble(s2[i]));

        }
        Collections.sort(list);

        
        //想了很久怎样能达到的公平 hhh 结果发现没有
        //那我就排序 拿一大一小 hhh 感觉能达到所谓的公平
        //获取每盒放几个
        //鸡蛋重量
       Double egeWeight =0.00;
        int num=Integer.parseInt(s1[1]); // 4
        // 为 一个标志 每次从头或者尾部拿几个
        int flag = num /2;
        // 循环几次
         int ci =Integer.parseInt(s1[0]) / Integer.parseInt(s1[1]);
         //开始
        int begin = 0;
        while (begin < ci){
            int touCi = 0;
           while (touCi < ci){
               egeWeight += list.get(0);
               list.remove(0);
               touCi++;
           }
           int weiCi = 0;
           while(weiCi < ci){
               egeWeight += list.get(list.size() -1);
               list.remove(list.size() -1);
               weiCi++;
           }
           begin++;
           list2.add(egeWeight);
           egeWeight =0.0;
        }
        Collections.sort(list2);
        System.out.println(list2.get(list2.size()-1));




        
        
        
        
        
        
//        //就差放鸡蛋步骤了
//        //获取每盒放几个
//
//        int num=Integer.parseInt(s1[1]);
//        //鸡蛋个数
//
//       int egeNum = Integer.parseInt(s1[0]);
//
//       //鸡蛋重量
//
//        double egeWeight = 0;
//        // 控制循环次数
//        int flag = 0;
//        for (int i = 0; i < list.size(); i++) {
//
//
//            egeWeight += list.get(i);
//            flag ++;
//            if (flag == num){
//                list2.add(egeWeight);
//                egeWeight =0;
//                flag =0;
//            }
//        }
//
//        Collections.sort(list2);
//        System.out.println(list2.get(list2.size() -1));




    }
}

你可能感兴趣的:(java,开发语言)