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;
		}
	}


}

  

posted @ 2017-10-27 17:27  啊啊啊阿坤  阅读(286)  评论(0)    收藏  举报