顺丰 9.7 java笔试编程题第二题 构造试卷

考完就突然会写了,真是麻了
题目:有n种题型,每种题型的数量各异,出一份试卷需要由m道题型各不相同的题构成
输入:第一个数是n,第二个数是m,下面的一行是每种题型的数量
5 3
8 5 4 7 2
输出
8

思路:
整体思路就是将每种题型根据数量排序,然后每次将前m多的题型扣掉第m多的题型的数量
然后再排序再扣除,直至剩余题型不足m种,循环结束

import java.util.*;

public class Main {

    public static void main(String[] args) throws InterruptedException {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int m = sc.nextInt();

        List<Integer> list = new ArrayList<>();
        for (int i = 0; i < n; i++) {
            list.add(sc.nextInt());
        }
        // System.out.println("输入完毕");


        int res = 0;
        while (true) {
            list.sort((a, b) -> {
                return b - a;
            });
            System.out.println(list.toString());
            // 这是从大到小,第m多的题型的数量,它决定了这一次出的套数
            int min = list.get(m - 1);

            // 遍历前m种
            for (int i = 0; i < m; i++) {
                // 该题型的数量
                int amout = list.get(i);
                // 扣除min
                list.set(i, amout - min);
            }
            // 将用完的题型踢出
            for (int i = list.size() - 1; i >= 0; i--) {
                if (list.get(i) == 0) {
                    list.remove(i);
                }
            }
            // 这样就出好了min份试卷
            res += min;
            // 如果省下的题型不足m,那么就无法再出卷了
            if (list.size() < m) {
                break;
            }
        }
        System.out.println(res);
    }
}
#顺丰笔试#
全部评论
不能每次都减去第m大的。考虑4 3 3,每套题2道。答案应该是5
3 回复 分享
发布于 2022-09-07 21:00 辽宁
我也这么做的,过了72 超时了
点赞 回复 分享
发布于 2022-09-07 21:01 广东
第一题有没有ac的呀,咋做的?
点赞 回复 分享
发布于 2022-09-07 21:07 福建
不能每次减m,我是用优先队列做每次减1在放进去,不过这样会超时😂
点赞 回复 分享
发布于 2022-09-07 21:14 江苏
二分
点赞 回复 分享
发布于 2022-09-07 21:23 黑龙江
我的答案还是有点问题 有想法的朋友欢迎交流
点赞 回复 分享
发布于 2022-09-08 11:33 福建
hi~同学,秋招遇“寒气”,牛客送温暖啦!23届秋招笔面经有奖征集中,参与就得牛客会员7天免费体验,最高赢300元京东卡!戳我去看>>>https://www.nowcoder.com/link/zhengjipinglun
点赞 回复 分享
发布于 2022-09-08 12:57 北京
为啥不能用回溯
点赞 回复 分享
发布于 2022-09-08 16:13 浙江
这种算法只能过82%
点赞 回复 分享
发布于 2022-09-09 21:05 湖南

相关推荐

2024-12-23 11:36
中南大学 Java
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
4
6
分享

创作者周榜

更多
正在热议
更多
# 听劝,这个简历怎么改 #
14064次浏览 182人参与
# 面试被问“你的缺点是什么?”怎么答 #
6244次浏览 98人参与
# 水滴春招 #
16160次浏览 326人参与
# 入职第四天,心情怎么样 #
11265次浏览 63人参与
# 租房找室友 #
7997次浏览 53人参与
# 读研or工作,哪个性价比更高? #
26139次浏览 356人参与
# 职场新人生存指南 #
199165次浏览 5506人参与
# 参加完秋招的机械人,还参加春招吗? #
26941次浏览 276人参与
# 文科生还参加今年的春招吗 #
4101次浏览 31人参与
# 简历无回复,你会继续海投还是优化再投? #
48608次浏览 561人参与
# 你见过最离谱的招聘要求是什么? #
144708次浏览 829人参与
# 如果重来一次你还会读研吗 #
155712次浏览 1706人参与
# 机械人选offer,最看重什么? #
69076次浏览 449人参与
# 选择和努力,哪个更重要? #
44261次浏览 492人参与
# 如果再来一次,你还会学硬件吗 #
103638次浏览 1245人参与
# 如果你有一天可以担任公司的CEO,你会做哪三件事? #
20517次浏览 413人参与
# 招聘要求与实际实习内容不符怎么办 #
46662次浏览 494人参与
# 22届毕业,是读研还是拿外包offer先苟着 #
4652次浏览 27人参与
# 你们的毕业论文什么进度了 #
901179次浏览 8960人参与
# 软开人,你觉得应届生多少薪资才算合理? #
81368次浏览 496人参与
# 国企还是互联网,你怎么选? #
109188次浏览 853人参与
牛客网
牛客企业服务