1246: 字符串排序
题目
输入n(n<100)个字符串,每个字符串长度不超过1000,将他们按字典顺序输出。更过内容点击标题。
分析
Java中的ArrayList()
可以比较方便的实现这一操作。
需要注意的点是:每组数据输出完之后要clear()
(清空)元素。Emmm我第一次就是忘记加这一句了,结果超时。
代码
以下只是解决方法之一,优点是代码简短。
/**
* time 725ms
* @author wowpH
* @version A2.0
* @date 2019-05-10 上午12:41:35
* Environment: Windows 10
* IDE Version: Eclipse 2019-3
* JDK Version: JDK1.8.0_112
*/
import java.io.BufferedInputStream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(new BufferedInputStream(System.in));
int n; // 字符串个数
// 实例化一个ArrayList<String>对象,大小为100
List<String> list = new ArrayList<String>(100);
String s; // 接收每行的字符串
while(sc.hasNext()) {
n = sc.nextInt();
for (int i = 0; i < n; i++) {
s = sc.next();
list.add(s);
}
// 字典序排序
Collections.sort(list);
for (String string : list) {
System.out.println(string);
}
// 清空对象中的元素。我就是忘了这一句,结果超时
list.clear();
}
sc.close();
}
}