POJ1007
题目地址:http://poj.org/problem?id=1007
本题思路较为清晰,即进行字符串中字符的比较操作。为了代码方(tou)便(lan)起见,使用了新的数据类型,并且实现了comparable接口,于是可调用Arrays中的排序方法,不用自己写排序代码。
源代码如下:
import java.util.Arrays;
import java.util.Scanner;
//POJ 1007
/*Date: 2016.07.18
* 1st: Accepted
*/
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m = sc.nextInt();
NewType[] d = new NewType[m];
for(int i = 0; i < m; i++){
d[i] = new NewType();
d[i].s = sc.next();
d[i].x = 0;
for(int j = 0; j < n - 1; j++){
for(int k = j + 1; k < n; k++){
if(d[i].s.charAt(k) < d[i].s.charAt(j))
d[i].x++;
}
}
}
Arrays.sort(d);
for(int i = 0; i < m; i++){
System.out.println(d[i].s);
}
}
}
class NewType implements Comparable<NewType>{
public String s;
public int x;
@Override
public int compareTo(NewType o) {
if(x < o.x)
return -1;
else if(x > o.x)
return 1;
else
return 0;
}
}