最新华为OD机试
2025华为od 机试2025B卷-华为机考OD2025年B卷
题目描述
对于一个连续正整数组成的序列,可以将其拼接成一个字符串,再将字符串里的部分字符打乱顺序。如序列8 9 10 11 12,拼接成的字符串为89101112,打乱一部分字符后得到90811211,原来的正整数10就被拆成了0和1。
现给定一个按如上规则得到的打乱字符的字符串,请将其还原成连续正整数序列,并输出序列中最小的数字。
输入描述
输入一行,为打乱字符的字符串和正整数序列的长度,两者间用空格分隔,字符串长度不超过200,正整数不超过1000,保证输入可以还原成唯一序列。
输出描述
输出一个数字,为序列中最小的数字。
示例1
输入
19801211 5
输出
8
说明
示例2
输入
432111111111 4
输出
111
说明
解题思路
题目要求从一个打乱了部分字符的字符串中还原出一个连续的正整数序列,找出其中最小的数字。
题目流程和解释:
- 输入内容:
- 字符串部分:表示将某个连续正整数序列拼接后、打乱部分字符得到的字符串。
- 序列长度部分:表示原来的连续正整数序列中有多少个数字。
- 任务:
- 根据打乱后的字符串和给定的序列长度,找出原来连续正整数序列的最小数字。
- 注意:输入字符串是由原来的一些连续正整数组成的,但某些数字可能被拆分成了单个字符,且这些字符被打乱后可能不再连贯。因此,需要将这些打乱的字符重新组合成连续的正整数。
- 关键点:
- 字符打乱:原本连续的数字可能在字符串中被拆分并打乱顺序,因此需要将它们重新组合成完整的数字。
- 唯一还原性:题目保证每一个输入都能还原成唯一的连续正整数序列,这意味着不存在多个可能的解。
示例解析
示例 1:
输入:19801211 5
输出:8
解释:
- 打乱后的字符串是
19801211
,序列长度是5
。 - 还原成的连续正整数序列为
8 9 10 11 12
,最小的数字是8
。