當(dāng)前位置:
首頁(yè) >
33:把数组排成最小的数
發(fā)布時(shí)間:2025/5/22
37
豆豆
生活随笔
收集整理的這篇文章主要介紹了
33:把数组排成最小的数
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
/*** 面試題33:把數(shù)組排成最小的數(shù)* 輸入一個(gè)正整數(shù)數(shù)組,把數(shù)組里所有數(shù)字拼接起來(lái)排成一個(gè)數(shù),打印能拼接出的所有數(shù)字中最小的一個(gè)。* 例如輸入數(shù)組{3,32,321},則打印出這三個(gè)數(shù)字能排成的最小數(shù)字為321323。*/
public class _33_min_array {public static void main(String[] args) {Solution33 solution33 = new Solution33();int[] numbers={3,32,321};System.out.println(solution33.PrintMinNumber(numbers));}
}
class Solution33 {public String PrintMinNumber(int [] numbers) {StringBuilder sb1=new StringBuilder("");if(numbers.length==0){return sb1.toString();}StringBuilder sb2=new StringBuilder("");StringBuilder result=new StringBuilder();for(int i=0;i<numbers.length-1;i++){for(int j=i+1;j<numbers.length;j++){sb1.append(numbers[i]);sb1.append(numbers[j]);sb2.append(numbers[j]);sb2.append(numbers[i]);if(sb1.toString().compareTo(sb2.toString())>0){int tmp=numbers[i];numbers[i]=numbers[j];numbers[j]=tmp;}sb1.delete(0, sb1.length());sb2.delete(0, sb2.length());}}for(int k=0;k<numbers.length;k++){result.append(numbers[k]);}return result.toString();}
}
轉(zhuǎn)載于:https://www.cnblogs.com/andy-zhou/p/6549957.html
總結(jié)
以上是生活随笔為你收集整理的33:把数组排成最小的数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。