华为OD机试题想问一下
对于一个连续正整数组成的序列,可以将其拼接成一个字符串,再将字符串里的部分字符打乱顺序。如序列8 9 10 11 12,拼接成的字符串为89101112,打乱一部分字符后得到90811211。注意打乱后原来的正整数可能被拆开,比如在90811211中,原来的正整数10就被拆成了0和1。
现给定一个按如上规则得到的打乱了字符的字符串,请将其还原成连续正整数序列,并输出序列中最小的数字。
输入:打乱后的字符串 原序列数字个数
输出:原序列最小值
注意:原序列数字不超过1000
这题除了枚举前1000大部分数字,还有别的方法吗
#华为OD引流:offer,面试,刷题#
现给定一个按如上规则得到的打乱了字符的字符串,请将其还原成连续正整数序列,并输出序列中最小的数字。
输入:打乱后的字符串 原序列数字个数
输出:原序列最小值
注意:原序列数字不超过1000
这题除了枚举前1000大部分数字,还有别的方法吗
全部评论
开一个大小为10的数组记录各数字的出现次数,用长度为原序列数字个数的滑动窗口从1开始扫描就行了
相关推荐
02-03 22:19
西北工业大学 前端工程师 点赞 评论 收藏
分享
02-14 12:40
门头沟学院 Java 程序员花海:1.面试要求必须Java笔试不一定
2.难度对等秋招 远超于日常实习是因为同一批次且转正很多 竞争压力大
3.第一个加点指标,上线了就把接口性能加上去 使用本地缓存这个不算亮点 只是技术选型,要把为什么采用这个和背后的思考写出来而不是单纯堆叠技术没意义
4.八股要一直看 很容易忘记
5.拼团交易这个老问题 堆积技术 另外建议你把奖项合并到教育背景 没必要拆出来放最后
点赞 评论 收藏
分享