这个主要是计算字符串的逆序数并且排序。
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner cin=new Scanner(System.in);
int strLen = cin.nextInt();
int strCount = cin.nextInt();
cin.nextLine();
List<DNA> dnaList = new ArrayList<DNA>();
for(int idx = 0;idx<strCount;idx++){
String dnaStr = cin.nextLine();
dnaList.add(new DNA(dnaStr,calcInversionNum(dnaStr)));
}
Collections.sort(dnaList,new Comparator<DNA>() {
public int compare(DNA o1, DNA o2) {
return o1.getInversionNum()-o2.getInversionNum();
}
});
for (DNA dna : dnaList) {
System.out.println(dna.getDnaStr());
}
}
private static int calcInversionNum(String dnaStr){
char[] charArray = dnaStr.toCharArray();
int inversionNum = 0;
for (int i = 0; i < charArray.length; i++) {
char c = charArray[i];
for (int j = i+1;j < charArray.length;j++){
if(c>charArray[j]){
inversionNum++;
}
}
}
return inversionNum;
}
static class DNA {
private String dnaStr;
private int inversionNum;
DNA(String dnaStr, int inversionNum) {
this.dnaStr = dnaStr;
this.inversionNum = inversionNum;
}
public String getDnaStr() {
return dnaStr;
}
public void setDnaStr(String dnaStr) {
this.dnaStr = dnaStr;
}
public int getInversionNum() {
return inversionNum;
}
public void setInversionNum(int inversionNum) {
this.inversionNum = inversionNum;
}
}
}
分享到:
相关推荐
DNA Sorting Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 34868 Accepted: 13480 Description One measure of ``unsortedness'' in a sequence is the number of pairs of entries that are ...
【标题】"POJ1007-DNA Sorting"是一个编程竞赛题目,源自北京大学的在线判题系统POJ(Problem Online Judge)。这个题目要求参赛者编写程序,对DNA序列进行排序,具体而言,就是对一系列由ATCG四种碱基组成的DNA字符...
poj dna sorting 问题,研究的ac coderrrrrrr
"East Central North America 1998测试数据" 提供的是一组与1998年东中北美地区编程竞赛相关的测试资源,特别提及了POJ(Problem Set of Peking University Online Judge)中的1007DNA Sorting问题。这个标题暗示了...
数学类题目是POJ中常见的类型,例如1007DNA Sorting涉及到排序算法,1338Ugly Numbers需要理解并生成丑数序列,1664放苹果则可能涉及到组合数学和贪心策略。这些题目挑战着用户的逻辑思维和数学功底。 此外,还有...
- **排序与比较**:1007 DNA Sorting对DNA序列进行排序。 2. **数据结构**: - **树形结构**:1308 Is It A Tree?判断一个图是否为树。 - **链表操作**:虽然未明确提及,但链表作为基础数据结构,在很多题目...
8. 1007DNASorting:该问题可能需要使用算法对DNA序列进行排序。 9. 1032Parliament:该题目可能是模拟议会投票或分配问题。 10. 1045BodePlot:这可能是与信号处理相关的题目,需要根据Bode图进行分析。 11. ...