PAT-Course List for Student (25)

来源:互联网 发布:python需要学多久 编辑:程序博客网 时间:2024/06/07 10:07

题意:

模拟课程统计

解答:

本题和PAT-Student for Course List需求相反,那题用了一个ArrayList里面套了几个ArrayList,本题由于要有名字(String)作为索引,所以使用HashMap,再在里面套一个ArrayList。

具体的java代码:

import java.util.*;public class Main{    public static void main(String[] args){        Scanner in=new Scanner(System.in);        int N=in.nextInt();        int K=in.nextInt();        HashMap<String,ArrayList<Integer>> map=new HashMap<String,ArrayList<Integer>>();         for(int i=0;i<K;i++){            int c=in.nextInt();            int num=in.nextInt();            for(int j=0;j<num;j++){                String name=in.next();                if(map.get(name)==null){                    map.put(name,new ArrayList<Integer>());                }                map.get(name).add(c);            }        }        for(int i=0;i<N;i++){           String temp=in.next();            System.out.print(temp+" ");            ArrayList<Integer> list=map.get(temp);            if(list==null)            {                System.out.println(0);                continue;            }            System.out.print(list.size());            Collections.sort(list);            for(int j=0;j<list.size();j++){              System.out.print(" "+list.get(j));            }                             System.out.println();        }        in.close();        }             }



0 0
原创粉丝点击