7-47 两队PK

A、B两队进行比赛,每队各有多名队员及其分数(分数不重复),使用A、B队所有队员得分的TOP 3来判断两队输赢,在TOP 3中拥有更多人数的队获胜。写程序实现该过程。

输入格式:

A队人数

A队每人得分

B队人数

B队每人得分

输出格式:

前三甲分数

赢的队

输入样例:

5
22 33 44 55 11
4
12 32 42 52

输出样例:

55 52 44
A

代码长度限制

16 KB

时间限制

400 ms

内存限制

答案:使用ArrayList来完成

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        ArrayList<Integer> arrayListA = new ArrayList<>();
        ArrayList<Integer> arrayListB = new ArrayList<>();
        ArrayList<Integer> arrayListC = new ArrayList<>();
        int mumA = 0;
        int sumB = 0;
        int A = in.nextInt();
        boolean flag = true;

        // 读取第一个数组
        for (int i = 0; i < A; i++) {
            arrayListA.add(in.nextInt());
        }

        // 读取第二个数组
        int B = in.nextInt();
        for (int i = 0; i < B; i++) {
            arrayListB.add(in.nextInt());
        }

        // 合并两个数组
        arrayListC.addAll(arrayListA);
        arrayListC.addAll(arrayListB);

        // 将合并后的数组转为数组并排序
        Object[] array = arrayListC.toArray();
        Arrays.sort(array);

        // 取出最大的三个元素
        for (int i = array.length - 1; i >= array.length - 3; i--) {
            if (flag) {
                System.out.print(array[i]);
                flag = false;
            } else {
                System.out.print(" " + array[i]);
            }

            // 判断元素来自哪个数组
            if (arrayListA.contains(array[i])) {
                mumA++;
            } else if (arrayListB.contains(array[i])) {
                sumB++;
            }
        }

        // 输出结果
        if (mumA > sumB) {
            System.out.println("\n" + "A");
        } 
        else{
            System.out.println("\n" + "B");
        } 
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值