华为OD机试题想问一下
对于一个连续正整数组成的序列,可以将其拼接成一个字符串,再将字符串里的部分字符打乱顺序。如序列8 9 10 11 12,拼接成的字符串为89101112,打乱一部分字符后得到90811211。注意打乱后原来的正整数可能被拆开,比如在90811211中,原来的正整数10就被拆成了0和1。
现给定一个按如上规则得到的打乱了字符的字符串,请将其还原成连续正整数序列,并输出序列中最小的数字。
输入:打乱后的字符串 原序列数字个数
输出:原序列最小值
注意:原序列数字不超过1000
这题除了枚举前1000大部分数字,还有别的方法吗 #华为OD引流:offer,面试,刷题#
现给定一个按如上规则得到的打乱了字符的字符串,请将其还原成连续正整数序列,并输出序列中最小的数字。
输入:打乱后的字符串 原序列数字个数
输出:原序列最小值
注意:原序列数字不超过1000
这题除了枚举前1000大部分数字,还有别的方法吗 #华为OD引流:offer,面试,刷题#
全部评论
开一个大小为10的数组记录各数字的出现次数,用长度为原序列数字个数的滑动窗口从1开始扫描就行了
相关推荐