本文主要是介绍C~K的班级-Rwen,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
C~K的班级
Time Limit: 1500 ms Memory Limit: 65536 KiB
Problem Description
经过不懈的努力,C~K终于当上了班主任。
现在他要统计班里学生的名单,但是C~K在教务系统中导出班级名单时出了问题,发现会有同学的信息重复,现在他想把重复的同学信息删掉,只保留一个,
但是工作量太大了,所以找到了会编程的你,你能帮他解决这个问题吗?
Input
第一行输入一个N,代表C~K导出的名单共有N行(N<100000).
接下来的N行,每一行包括一个同学的信息,学号 姓名 年龄 性别。
Output
第一行输出一个n,代表删除重复名字后C~K的班级共有几人。
接下来的n行,输出每一个同学的信息,输出按照输入的顺序。
Sample Input
6
0001 MeiK 20 M
0001 MeiK 20 M
0002 sdk2 21 M
0002 sdk2 21 M
0002 sdk2 21 M
0000 blf2 22 F
Sample Output
3
0001 MeiK 20 M
0002 sdk2 21 M
0000 blf2 22 F
刚开始用的是类来写,结果发现提交老是w,我猜应该是输出的格式有问题,然后看来网上的另一种写法依葫芦画瓢(我用的set集合,博主用的是List,链接)
package java13;import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;public class Main{public static void main(String[] args){Scanner scan=new Scanner(System.in);int n=scan.nextInt();scan.nextLine();int num=0;Set<String> set=new HashSet<String>();String [] str=new String[n];for(int i=0;i<n;i++){String str1=scan.nextLine();if(set.contains(str1)==false){str[num++]=str1;}set.add(str1);}System.out.println(set.size());for(int i=0;i<num;i++){System.out.println(str[i]);}scan.close();}}
这篇关于C~K的班级-Rwen的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!