按字符串权重排序

时间:2014-10-17 06:32:33

标签: java algorithm

编写一个java程序,根据权重按降序对字符串数组进行排序。 弦的重量可以通过以下方式计算 字母A的权重为1,字母a的权重为-1。字母Z的权重为26,而z的字母为-26 }。

所以字符串Java的权重为-14。(J = 10,a = -1,v = -22,a = -1) 因此,根据权重按降序对数组进行排序。

示例输入:

3
Python Java HTML

示例输出:

Java Python HTML

注意如果两个字符串具有相同的权重,则打印在数组中首先输入的字符串

2 个答案:

答案 0 :(得分:2)

Java是面向对象的语言,因此请使用它。这显然是你的功课,你根本不做任何事情,所以我只是给你一个暗示:

create an object with Strings, their weights and their position in the array.

sort objects bases on their weights and, for equal weight, position in array.

print sorted objects Strings.

答案 1 :(得分:0)

你的任务是

  1. 读取给出的所有数据并将其放入适当的集合
  2. 排序集合。在像Java这样的OO语言中,我们通常实现Comparator
  3. 输出结果: foreach 循环是一件更好的事情
  4. 骨架可能是这样的:

     // Comparer to implement your algorithm of comparing two strings
     class MyComparer implements Comparator<String> {
       @Override
       public int compare(String left, String right) {
         //TODO: return -1 if left < right; 0 if left == right and 1 if left > right
       }
     }
    
     ...
    
     // Stage 1:
     ArrayList<String> items = new ArrayList<String>();
    
     //TODO: put user input into the collection
    
     // Stage 2:
     Collections.sort(items, new MyComparer());
    
     // Stage 3:
     for(String item: items) {
       //TODO: Print out item in a right format      
     }