华为OD机试双机位A卷 - 组合出合法最小数 (C++ & Python & JAVA & JS & GO)

82 阅读1分钟

华为OD机试双机位A卷 - 组合出合法最小数

2025华为OD机试2025双机位A卷 - 华为OD上机考试2025年双机位A卷 200分题型

华为OD机试2025C卷真题目录点击查看: 华为OD机试2025C卷真题题库目录|机考题库 + 算法考点详解

题目描述

给一个数组,数组里面都是代表非负整数的字符串,将数组里所有的数值排列组合拼接起来组成一个数字,输出拼接成的最小的数字

输入描述

一个数组,数组不为空,数组里面都是代表非负整数的字符串,可以是0开头,例如:["13", "045", "09", "56"]。

  • 数组的大小范围:[1, 50]
  • 数组中每个元素的长度范围:[1, 30]

输出描述

以字符串的格式输出一个数字,如果最终结果是多位数字,要优先选择输出不是“0”开头的最小数字 如果拼接出来的数字都是“0”开头,则选取值最小的,并且把开头部分的“0”都去掉再输出 如果是单位数“0”,可以直接输出“0”

用例1

输入

20 1

输出

120

用例2

输入

08 10 2

输出

10082

用例3

输入

01 02

输出

102

题解

C++、Java、Python、JavaScript、Go实现源码和详细实现思路解析,点击跳转查看