首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

输入一个正整数数组,将他们连接起来排成一个数,输出会排出的所有数字中最小的一个

2012-10-11 
输入一个正整数数组,将他们连接起来排成一个数,输出能排出的所有数字中最小的一个对于两个字符串重新定义

输入一个正整数数组,将他们连接起来排成一个数,输出能排出的所有数字中最小的一个

对于两个字符串重新定义其大小规则,比如:给定两个字符串s1,s2,如果s1+s2》s2+s1 那么s1>s2,反之s2>s1

按照这个思路,给出算法如下:

public int finMinCom(int []a){int result;List<String>strs=new ArrayList<String>();for(int i:a){strs.add(String.valueOf(i));}Collections.sort(strs,new Comparator<String>(){@Overridepublic int compare(String o1, String o2){// TODO Auto-generated method stubString s1=o1+o2;String s2=o2+o1;return s1.compareTo(s2);}});StringBuilder sb=new StringBuilder();for(String str:strs){sb.append(str);}result=Integer.parseInt(sb.toString());return result;}


 

热点排行