lintcode创建最大数问题

题目描述:
给出两个长度分别是mn的数组来表示两个大整数,数组的每个元素都是数字0-9。从这两个数组当中选出k个数字来创建一个最大数,其中k满足k <= m + n选出来的数字在创建的最大数里面的位置必须和在原数组内的相对位置一致(这个是重点,意思就是一旦选择了其中一个数中的第i位,那么这个数的0~i-1位置上的数都不可以再用)。返回k个数的数组。你应该尽可能的去优化算法的时间复杂度和空间复杂度。
样例

给出 nums1 = [3, 4, 6, 5], nums2 = [9, 1, 2, 5, 8, 3], k = 5
返回 [9, 8, 6, 5, 3]

给出 nums1 = [6, 7], nums2 = [6, 0, 4], k = 5
返回 [6, 7, 6, 0, 4]

给出 nums1 = [3, 9], nums2 = [8, 9], k = 3
返回 [9, 8, 9]


有个case过不了,仔细看case感觉case有问题,不知道是不是我问题理解错了。
输入:
[1,5,8,1,4,0,8,5,0,7,0,5,7,6,0,5,5,2,4,3,6,4,6,6,3,8,1,1,3,1,3,5,4,3,9,5,0,3,8,1,4,9,8,8,3,4,6,2,5,4,1,1,4,6,5,2,3,6,3,5,4,3,0,7,2,5,1,5,3,3,8,2,2,7,6,7,5,9,1,2],
[7,8,5,8,0,1,1,6,1,7,6,9,6,6,0,8,5,8,6,3,4,0,4,6,7,8,7,7,7,5,7,2,5,2,1,9,5,9,3,7,3,9,9,3,1,4,3,3,9,7,1,4,4,1,4,0,2,3,1,3,2,0,2,4,0,9,2,0,1,3,9,1,2,2,6,6,9,3,6,0],
80
输出:
[9,9,9,9,9,9,9,9,9,8,8,7,7,6,6,5,5,4,3,6,4,6,6,3,8,1,1,3,1,3,5,4,3,9,5,0,3,8,1,4,9,8,8,3,4,6,2,5,4,1,1,4,6,5,2,3,6,3,5,4,3,0,7,2,5,1,5,3,3,8,2,2,7,6,7,5,9,1,2,0]
这里我就比较奇怪了,前面9个数都是9,可无论我怎么选出9个9来,剩下的数的个数都不够80。难倒我理解错题目意思了?
截图如下:


全部评论
有人做过这题吗
点赞 回复 分享
发布于 2017-08-27 16:43

相关推荐

11-05 10:55
中南大学 Java
要双修的猫头鹰:这面试官怕不是个m
我来点评面试官
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务