PAT-Course List for Student (25)
2016-03-10 14:01
369 查看
题意:
模拟课程统计
解答:
本题和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();
}
}
模拟课程统计
解答:
本题和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();
}
}
相关文章推荐
- Linux服务器上监控网络带宽的18个常用命令
- 正则表达式 - 示例
- opencv Mat转CvMat
- 字符串拷贝
- 消除未使用声明变量的警告
- Picasso加载圆形图片和圆角图片
- 正则表达式 - 匹配规则
- 字符串与数组的转化iOS
- 基本的Git使用总结
- 安卓之引导页
- JS判断UA动态加载CSS的方法
- 使UITableViewCell之间的cell不显示分割线
- thrift 小结
- 如此之笨 storyboard里找view
- 未使用的变量不报警告
- 正则表达式 - 运算符优先级
- 关于toolbar的menu显示icon问题
- 多台web服务器之间共享session
- ubuntu开机自启动vitrualbox中的虚拟机
- iOS-生成plist文件,在项目中代码创建plist