PAT乙級1023
題目
1023 組個最小數 (20分)
給定數字 0-9 各若干個。你可以以任意順序排列這些數字,但必須全部使用。目標是使得最後得到的數儘可能小(注意 0 不能做首位)。例如:給定兩個 0,兩個 1,三個 5,一個 8,我們得到的最小的數就是 10015558。
現給定數字,請編寫程式輸出能夠組成的最小的數。
輸入格式:
輸入在一行中給出 10 個非負整數,順序表示我們擁有數字 0、數字 1、……數字 9 的個數。整數間用一個空格分隔。10 個數字的總個數不超過 50,且至少擁有 1 個非 0 的數字。
輸出格式:
在一行中輸出能夠組成的最小的數。
輸入樣例:
2 2 0 0 0 3 0 0 1 0
輸出樣例:
10015558
程式碼
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNext()) {
int[] a = new int[50];
int t = 0;
for (int i = 0; i < 10; ++i) {
int temp = in.nextInt();
for (int j = 0; j < temp; ++j)
a[t++] = i;
}
Arrays.sort(a, 0, t);
if (a[0] == 0) {
for (int i = 1; i < t; ++i) {
if (a[i] != 0) {
a[0] ^= a[i];
a[i] ^= a[0];
a[0] ^= a[i];
break;
}
}
}
for (int i=0;i<t;++i)
System.out.print(a[i]);
System.out.println();
}
}
}
注意點
水題
相關文章
- PAT 乙級
- PAT甲級1023 Have Fun with Number
- 【PAT乙級】1027 列印沙漏
- 【PAT乙級】1017 A除以B
- 【PAT乙級】1065 單身狗
- 【PAT乙級】1052 賣個萌
- 【PAT乙級】1048 數字加密加密
- 【PAT乙級】1066 影像過濾
- 【PAT乙級】1021 個位數統計
- PAT乙級——1093(字串匹配)Java實現字串匹配Java
- PAT-B 1023 組個最小數
- PAT乙級 | 1086 就不告訴你 (15分)
- PAT乙級比賽-互評成績計算
- PAT 乙級 1094 谷歌的招聘 (20分)---【素數 字串】谷歌字串
- 【PAT乙級、C++】1024 科學計數法 (20分)C++
- PAT乙級——1092(陣列排序 自定義sort)Java實現陣列排序Java
- pat乙級自我回顧:一般錯誤出現原因
- PAT 2023 冬 乙 方格填數
- PAT乙級1004 成績排名 (20分)(C語言版)及解析C語言
- 2022年冬pat乙級考試題目及程式碼解析附部分錯誤原因
- PAT乙級1026程式執行時間(秒數轉換為時間)(值得學習)
- PAT乙級1001 || 害死人不償命的(3n+1)猜想(C語言)C語言
- PAT乙 1041 考試座位號 (15分)(C C++)C++
- PAT甲級1032 Sharing
- PAT甲級1030 Travel Plan
- 浙大PAT甲級考試
- [leetcode] 1023. Camelcase MatchingLeetCode
- PTA乙級 1004 成績排名
- PAT 甲級 1152 Google Recruitment (20分)GoUI
- 20年春季甲級pat考試
- PAT甲級-1015. Reversible Primes (20)
- PAT甲級1126~1130|C++實現C++
- PAT甲級-1014. Waiting in Line (30)(模擬)AI
- PAT甲級真題1069 數字黑洞(巧妙解法)
- PAT甲級考試題庫題目分類
- 【PAT甲級A1084】Broken Keyboard (20分)(c++)C++
- PTA乙級_1024 科學計數法 (20分)_pythonPython
- 2024 秋季PAT認證甲級(題解A1-A4)