標籤:java 演算法
問題:
再插入數字時,沒有中斷迴圈,導致從輸入數處再次迴圈,如下錯誤結果:
3 3
1 2 4
1 2 3 3
4 3
1 2 4 5
1 2 3 3 4
當迴圈完成後記得中斷;
數列有序!
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 57301 Accepted Submission(s): 24693
Problem Description有n(n<=100)個整數,已經按照從小到大順序排列好,現在另外給一個整數x,請將該數插入到序列中,並使新的序列仍然有序。
Input輸入資料包含多個測試執行個體,每組資料由兩行組成,第一行是n和m,第二行是已經有序的n個數的數列。n和m同時為0標示輸入資料的結束,本行不做處理。
Output對於每個測試執行個體,輸出插入新的元素後的數列。
Sample Input
3 31 2 40 0
Sample Output
1 2 3 4
代碼:
import java.util.*;public class Main{public static void main(String args[]){Scanner cin=new Scanner(System.in);while(cin.hasNext()){int n=cin.nextInt();int m=cin.nextInt();if(n==0&&m==0)break;else{int a[]=new int[100];for(int i=0;i<n;i++)a[i]=cin.nextInt();if(m>a[n-1])a[n]=m;else{for(int i=0;i<n;i++){if(m<a[i]){int j=i;for( i=n;i>j;i--)a[i]=a[i-1];a[i]=m;break;}}}for(int i=0;i<=n;i++)if(i==0)System.out.print(a[i]);elseSystem.out.print(" "+a[i]);}System.out.println();}}}
hdu 2018 數列有序!(java)