• 几个数拼接生成最大数(java实现)


    问题:现有多个数字,试问如何将其拼接生成最大的数。
    例如:{12121,12,568,7} 生成数:7568121212121.

    import java.util.Scanner;
    
    public class Main {
    
        public static void main(String[] args) {
    
            Main main=new Main();
            Scanner cin=new Scanner(System.in);
    
            String arr[]=(cin.nextLine()).split(" ");
            System.out.println(main.MaxNum(arr));
    
        }
    
        public int MaxNum(String[] str){
            int ret=0;
    
            for (int j = 0; j < str.length; j++) {
                for (int i = 0; i < str.length; i++) {
                    if (this.biJiao(str[j], str[i])) {
                        String temp=str[j];
                        str[j]=str[i];
                        str[i]=temp;
                    }
                }
            }
                String num="";
                for (int m = 0; m < str.length; m++) {
                    num=num+str[m];
                }
    
                ret=Integer.parseInt(num);
    
    
            return ret;
        }
    
        public boolean biJiao(String str1,String str2){
    
            int length=str1.length()+str2.length();
    
                    str1+=str2;
                    str2+=str1;
    
            for (int i = 0; i < length; i++) {
    
                if (Integer.parseInt(str1.substring(i, i+1))>Integer.parseInt(str2.substring(i, i+1))) {
                    return true;
                }
                if (Integer.parseInt(str1.substring(i, i+1))<Integer.parseInt(str2.substring(i, i+1))) {
                    return false;
                }
            }
    
            return true;
        }
    
    
    }
  • 相关阅读:
    go 注释/说明/文档 标注
    go stack object escape
    ubuntu virtualBox windows10 CPU占用100%
    git 团队合作
    git 修改远程pull和push地址
    go 项目编译失败
    fork函数 linux创建子进程
    51nod1183 编辑距离
    各种平衡树
    redis 配置多个ip 解决方案
  • 原文地址:https://www.cnblogs.com/lllini/p/11955298.html
Copyright © 2020-2023  润新知