在一行中輸出能夠組成的最小的數
仔細讀題,審題很重要 ,真的很重要。
下面分享一道題:
給定數字0-9各若干個。你可以以任意順序排列這些數字,但必須全部使用。 目標是使得最後得到的數儘可能小(注意0不能做首位)。
例如:給定兩個0,兩個1,三個5,一個8,我們得到的最小的數就是10015558。現給定數字,請編寫程式輸出能夠組成的最小的數。
輸入描述:
每個輸入包含1個測試用例。每個測試用例在一行中給出10個非負整數, 順序表示我們擁有數字0、數字1、……數字9的個數。整數間用一個空 格分隔。10個數字的總個數不超過50,且至少擁有1個非0的數字。
輸出描述:
在一行中輸出能夠組成的最小的數。
輸入:
2200030010(即兩個0,兩個1,三個5,一個8,我們得到的最小的數就是10015558)
輸出:
10015558
思路 :找到所給數字中非零並且最小的數,讓它為數字最高位,然後將剩餘元素從小到大依次新增
程式碼如下:
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNextInt()) {
//用陣列存,陣列內元素值代表數字0-9的個數
int[] nums = new int[10];
for(int i = 0;i<10;i++){
nums[i] = in.nextInt();
}
System.out.println(GetNum(nums));
}
}
public static String GetNum( int[] nums) {
//找到所給數字中非零並且最小的數,讓它為數字最高位
//因為是順序表示我們擁有數字0、數字1、……數字9的個數,所以陣列中下標1代表的就是數字1的個數,
// 從1開始找,找到直接break並且陣列i下標減一
String s = "";
for(int i = 1; i<10;i++){
if(nums[i] != 0){
s += i;
nums[i] --;
break;
}
}
//找到最小值放在最高位後,然後將剩餘元素從小到大依次新增,外層迴圈代表數字0-9,內層迴圈數字0-9分別的個數
for(int i = 0;i<10;i++){
while(nums[i] != 0){
s += i;
nums[i] --;
}
}
return s;
}
}
這道題本身並不難,但是開始未認真讀題,沒有看到順序表示,認為輸入為2200030010,則輸出最小的應該為100000223,開始還考慮用排序,棧,佇列等資料結構來解決,所以,再次強調各位以及自己!!!!仔細讀題審題很重要
相關文章
- 輸出1~100中不含數字9的全部整數,每五個換一行
- 匯出Wireless組中的成員
- LeetCode題解(面試03.02):設計能夠在常數時間內檢索到最小元素的棧(Python)LeetCode面試Python
- C# 的輸入輸出,(同一行/換行)C#
- 陣列的最小不可組成和問題陣列
- 組合數輸出題解
- 如何把檔案輸出流替換成位元組輸出流
- shell中輸入字串和文字在同一行字串
- 輸入一個非負整數,返回組成它的數字之和
- 輸出由1、2、3、4四個數字組成的每位都不相同的所有三位數
- Python一行輸出不顯示的問題Python
- 輸出1-100之間的不能被5整除的數,每5個一行
- 在VSCode中能夠視覺化除錯資料的外掛 - addyosmaniVSCode視覺化除錯
- c語言輸出100!的數值中的0的個數C語言
- 給一組數,分為兩組,求差最小的情況
- 在Linux中,哪⼀個bash內建命令能夠進行數學運算?Linux
- 如何用python輸出每10個一行的元素Python
- 智慧數字經營的出現能夠解決哪些實際問題?
- 字型在chrome瀏覽器下最小隻能設定成12px的解決辦法Chrome瀏覽器
- 在 WebStorm 中,配置能夠識別 Vue CLI 3 建立的專案的別名 alias @WebORMVue
- 在 laravel 中輕鬆容易的輸出完整的 sql 語句LaravelSQL
- 在 Laravel 中將 PHP 變數轉化為 JavaScript 變數並輸出LaravelPHP變數JavaScript
- IO流的位元組輸入輸出流(InputStream,OutputStream)
- 15.7 冪級數在組合數學中的應用
- 請問在一個命令上加什麼引數可以實現下面命令的內容在同一行輸出。 echo “zhaokang”;echo “zhaokang”
- 在計算機組成原理中x,計算機組成原理計算機
- 7-1 jmu-python-輸入輸出-計算字串中的數Python字串
- PHP-將變數輸出成 array 結構PHP變數
- 呼叫函式:如把ssha的值在SSHA的框中輸出函式
- c++實現輸入一組字串,找出字串中最大最小和統計相同字串出現次數C++字串
- 在Linux中,作業系統的主要組成部分有哪些?Linux作業系統
- linux中的輸入與輸出管理(重定向輸入,輸出,管道符)Linux
- PAT-B 1023 組個最小數
- 劍指offer:輸入n個整數,找出其中最小的K個數。
- 洛谷P1157 組合的輸出
- 重學java中的輸入輸出流Java
- 在 MySQL 中,如何計算一組資料的中位數?MySql
- 陣列中未出現的最小正整數陣列