1007
Map<String, Integer> 根据Integer的顺序输出String的问题
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
int n = cin.nextInt();
int m = cin.nextInt();
String[] DNAs = new String[m];
int[] sorts = new int[m];
for(int i=0;i<m;i++) {
int[] right = {0, 0, 0, 0};
String DNA = cin.next();
int sort = 0;
for(int j=n-1;j>=0;j--) {
if(DNA.charAt(j) == 'A') {
right[0]++;
} else if(DNA.charAt(j) == 'C'){
sort += right[0];
right[1]++;
} else if(DNA.charAt(j) == 'G') {
sort += right[0] + right[1];
right[2]++;
} else {
sort += right[0] + right[1] + right[2];
}
}
DNAs[i] = DNA;
sorts[i] = sort;
}
for(int i=0;i<m;i++) {
int index = 0;
int sort = Integer.MAX_VALUE;
for(int j=0;j<m;j++) {
if(sorts[j] < sort) {
sort = sorts[j];
index = j;
}
}
System.out.println(DNAs[index]);
sorts[index] = Integer.MAX_VALUE;
}
}
}
浙公网安备 33010602011771号