POJ1007

作者: Shiki | 来源:发表于2014-08-21 16:52 被阅读0次

简单问题,就是求逆序数的问题而已~
不过依旧不能一次AC
因为太2了
对于下列测试数据:

1 1
A
要出错~


问题描述###

对于大写字母求每个序列的逆序数,然后按逆序数的升序排列重新输出~


难点###

无~


代码实现###

`
package poj;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Scanner;
public class Poj1007 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String p = sc.nextLine();
String ps[] = p.split(" ");
int n = Integer.valueOf(ps[0]);
int m = Integer.valueOf(ps[1]);
HashMap<Integer, String> map = new HashMap<Integer, String>();
ArrayList<Integer> list = new ArrayList<Integer>();
for(int k = 0 ; k < m ; k ++){
String tmp = sc.nextLine();
int inversions = 0;
for(int i = 0 ; i < tmp.length() ; i ++){
for(int j = i+1; j < tmp.length() ; j ++){
char a = tmp.charAt(i);
char b = tmp.charAt(j);
if(a > b)
inversions++;
}
}
list.add(inversions);
map.put(inversions, tmp);
}
sc.close();
for(int i = 0 ; i < list.size() ; i ++){
for(int j = 0 ; j < list.size() -1 ; j ++){
Integer aV = list.get(j);
Integer bV = list.get(j+1);
if(aV > bV){
list.set(j, bV);
list.set(j+1, aV);
}

        }
    }
    for(Integer in : list){
        System.out.println(map.get(in));
    }
}

}

`

相关文章

  • POJ1007

    简单问题,就是求逆序数的问题而已~不过依旧不能一次AC因为太2了对于下列测试数据: 1 1A要出错~ 问题描述##...

  • 【POJ1007】-通过multimap

    题目地址:http://poj.org/problem?id=1007 刚开始想到的这道题大概的思路是:用vect...

网友评论

      本文标题:POJ1007

      本文链接:https://www.haomeiwen.com/subject/nuaetttx.html