通过率 36% · 提交 516 · 通过 186
小慕在筹备团队的年会活动,设计了一个趣味游戏: 屏幕上会显示 1 到 9 中任意 4 个不重复的数字,参与者需要尽快找出这些数字能拼成的所有数字中,从小到大排列位于第 N 位的那个数字,其中 N 等于屏幕上给出的数字中最大的那个(如果拼出的数字总数不到 N 个,则取最后一个数字即可)。 注意: - 数字 进行数字拼接,且屏幕上不会同时出现 2 和 5; - 数字 6 可以当作 9 来使用,9 也可以当作 6 来使用进行数字拼接,且屏幕上不会同时出现 6 和 9。 例如,屏幕上给出:1,4,8,7,则可以拼接出的数字依次为: > 1,4,7,8,14,17,18,41,47,48,71,74,78,81,84,87,147,148,178 …(后续数字省略)。那么第 N(即8)个数字是 41。
这类题属于华为 OD 机考真题方向中「200分 / DFS」方向的高频题型,通常考察对「200分 / DFS」的建模能力与边界条件处理。掌握本题的解题思路后,可举一反三应对同类真题方向,稳步提升机考通过率。
提示:带虚线的词点一下有通俗解释。
输入以逗号分隔的 4 个 int 类型整数的字符串。
输出为这几个数字可拼成的数字从小到大排列位于第 N (N为输入数字中最大的数字)位置的数字, 如果输入的数字不在范围内或者有重复,则输出-1。
示例 1
输入示例
1,4,8,7
输出示例
41
可以构成的数字按从小到大排序为: 1,4,7,8,14,17,18,41,47,48,71,74,78,81,84,87,147,148,178 … (省略后面的数字), 故第8个为41
示例 2
本平台为独立第三方培训机构,与华为技术有限公司无任何关联;课程的服务内容与权益以购买协议为准,学习效果因个人情况而异。「华为 OD」「华为可信」等仅为对岗位与考试方向的客观描述,相关商标归各自权利人所有。
登录后可查看你在本题的历史提交,以及每次的各用例通过情况。
输入示例
2,5,1,4
输出示例
-1
2和5不能同时出现
示例 3
输入示例
3,0,9,5
输出示例
-1
0不在1到9范围内
示例 4
输入示例
3,9,7,8
输出示例
39
注意9可以当6使用,所以可以构成的数字按从小到大排序为:3,6,7,8,9,36,37,38,39,63,67,68,73,76,78,79,83 … (省略后面的数字)。故第9个为39
时间限制 1000 ms · 内存限制 128 MB
© 2026 广州慕课网络科技有限公司 · 吴师兄学算法官网 版权所有