• 数串


    题目:

    设有n个正整数,将他们连接成一排,组成一个最大的多位整数。
    如:n=3时,3个整数13,312,343,连成的最大整数为34331213。
    如:n=4时,4个整数7,13,4,246连接成的最大整数为7424613。

     1 package test04;
     2 
     3 import java.util.ArrayList;
     4 import java.util.Collections;
     5 import java.util.Comparator;
     6 import java.util.Iterator;
     7 import java.util.Scanner;
     8 
     9 class MyComparator implements Comparator<String>{
    10 
    11     public int compare(String o1, String o2) {
    12         String a = String.valueOf(o1);
    13         String b = String.valueOf(o2);
    14         if(((a+b).compareTo(b+a))>0){
    15             return -1;
    16         }else if(((a+b).compareTo(b+a))<0){
    17             return 1;
    18         }else{
    19             return 0;
    20         }
    21     }
    22 }
    23 
    24 class ArraySort {
    25     public static void main(String[] args) {
    26         Scanner scan = new Scanner(System.in);                
    27         while(scan.hasNext()){
    28             int n = scan.nextInt();
    29             ArrayList<String> li = new ArrayList<String>();
    30             for(int i=0;i<n;i++){
    31                 li.add(scan.next());
    32             }
    33             Collections.sort(li, new MyComparator());
    34             
    35             Iterator<String> iter = li.iterator();
    36             while(iter.hasNext()){
    37                 System.out.print(iter.next());
    38             }
    39         }
    40     }
    41 }

    具体原理可参考本人博客  http://www.cnblogs.com/XuGuobao/p/7358374.html

  • 相关阅读:
    Matlab产生随机序列,并采样
    LaTex的常用编辑
    傅里叶级数(FS)以及FT、DTFT、DFS和DFT
    uint32_t
    string
    const char * char const * char * const
    CString
    UNICODE与ANSI的区别
    MFC中输出string;
    assert
  • 原文地址:https://www.cnblogs.com/XuGuobao/p/7365392.html
Copyright © 2020-2023  润新知