靠比較軟件下載大全app網(wǎng)站如何創(chuàng)建自己的網(wǎng)站
目錄
- 專欄導讀
- 一、題目描述
- 二、輸入描述
- 三、輸出描述
- 四、解題思路
- 五、Java算法源碼
- 六、效果展示
- 1、輸入
- 2、輸出
- 3、說明
華為OD機試 2023B卷題庫瘋狂收錄中,刷題點這里
專欄導讀
本專欄收錄于《華為OD機試(JAVA)真題(A卷+B卷)》。
刷的越多,抽中的概率越大,每一題都有詳細的答題思路、詳細的代碼注釋、樣例測試,發(fā)現(xiàn)新題目,隨時更新,全天CSDN在線答疑。
一、題目描述
給定一個整型數(shù)組,請從該數(shù)組中選擇3個元素組成最小數(shù)字并輸出(如果數(shù)組長度小于3,則選擇數(shù)組中所有元素來組成最小數(shù)字)
二、輸入描述
輸入一行用半角逗號分割的字符串記錄的整型數(shù)組,0<數(shù)組長度<=100,0<整數(shù)的取值范=10000
三、輸出描述
由3個元素組成的最小數(shù)字,如果數(shù)組長度小于3,則選擇數(shù)組中所有元素來組成最小
四、解題思路
- 輸入一行用半角逗號分割的字符串記錄的整型數(shù)組;
- 通過java8 Stream快速拆解輸入行;
- 按照數(shù)字大小升序排序;
- 從該數(shù)組中選擇3個元素組成最小數(shù)字并輸出(如果數(shù)組長度小于3,則選擇數(shù)組中所有元素來組成最小數(shù)字);
- 按照組合數(shù)字升序排序;
- 組合成數(shù),輸出。
五、Java算法源碼
public static void main(String[] args) {Scanner sc = new Scanner(System.in);int[] arr = Arrays.asList(sc.nextLine().split(",")).stream().mapToInt(Integer::parseInt).toArray();// 按照數(shù)字大小升序排序Arrays.sort(arr);// 取出3個數(shù)List<String> list = new ArrayList<>();int n = arr.length >= 3 ? 3 : arr.length;for (int i = 0; i < n; i++) {list.add(String.valueOf(arr[i]));}// 按照組合數(shù)字升序排序Collections.sort(list, new Comparator<String>() {@Overridepublic int compare(String o1, String o2) {return (o1 + o2).compareTo(o2 + o1);}});// 組合成數(shù),輸出StringBuilder builder = new StringBuilder();list.forEach(x -> builder.append(x));System.out.println(builder);
}
六、效果展示
1、輸入
21,30,62,5,31
2、輸出
21305
3、說明
🏆下一篇:華為OD機試 - 荒島求生 - 棧Stack(Java 2023 B卷 100分)
🏆本文收錄于,華為OD機試(JAVA)真題(A卷+B卷)
刷的越多,抽中的概率越大,每一題都有詳細的答題思路、詳細的代碼注釋、樣例測試,發(fā)現(xiàn)新題目,隨時更新,全天CSDN在線答疑。