1. 程式人生 > 其它 >大整數排序-牛客

大整數排序-牛客

技術標籤:劍指offerjava字串

對N個長度最長可達到1000的數進行排序。
輸入描述:
輸入第一行為一個整數N,(1<=N<=100)。
接下來的N行每行有一個數,數的長度範圍為1<=len<=1000。
每個數都是一個正數,並且保證不包含字首零。
輸出描述:
可能有多組測試資料,對於每組資料,將給出的N個數從小到大進行排序,輸出排序後的結果,每個數佔一行。
連結:https://www.nowcoder.com/questionTerminal/b744af632ac4499aa485d7bb048bb0aa
來源:牛客網
先比較長度,長度相等比較大小
貼上答案:

import java.
util.Scanner; public class bigNumSort { public static void main(String[] args) { Scanner sc=new Scanner(System.in); while(sc.hasNext()){ int n=sc.nextInt(); String[] strings=new String[n]; for(int i=0;i<n;i++){ strings[i]=sc.
next(); } for(int i=0;i<n-1;i++){ for(int j=i+1;j<n;j++){ if(strings[i].length()>strings[j].length()){ String t=strings[i]; strings[i]=strings[j]; strings[j]=t;
}else if(strings[i].length()==strings[j].length()){ if(strings[i].compareTo(strings[j])>0){ String t=strings[i]; strings[i]=strings[j]; strings[j]=t; } } } } for(int i=0;i<n;i++){ System.out.println(strings[i]); } } } }