【发布时间】:2018-07-26 10:20:20
【问题描述】:
经典问题
经典的问题陈述是:给定一个未排序的整数数组A,找到A中不存在的最小正整数。
[3, 2, 1, 6, 5] -> 4
[2, 3, 4, 5] -> 1
[1, 2, 3, 4] -> 5
在经典的问题陈述中,你只得到一个数组,你可以找到很多关于这个问题的解决方案和资源,here、here 和 here。
硬版
在我的问题中,给你两个数组A 和B,长度均为N。构造一个长度为N 的数组C,其“最小缺失整数”是最大可能的。 C[i] 必须是 A[i] 或 B[i]。
A = [1, 2, 4, 3], B = [1, 3, 2, 3] =-> C = [1, 2, 4, 3] answer = 5
A = [4, 2, 1, 6, 5], B = [3, 2, 1, 7, 7] =-> C = [3, 2, 1, 6, 5] answer = 4
A = [2, 3], B = [4, 5] =-> C = [2, 5] answer = 1
我们如何在O(N) 最坏情况下的时间和空间复杂度下解决这个问题?
假设:
1<= N <= 100,000
1<= A[i], B[i] <= 100,000,000
【问题讨论】:
-
为什么是-1,请告诉我?让我解决这个问题..
-
通常人们不喜欢只包含问题描述的帖子。就我个人而言,我认为这篇特定的帖子没有任何问题。
-
努力只需要功课,见on-topic。
-
是的,你是对的,我知道这一点。但我已经尝试用经典方式解决这个问题。我应该把我的论文的照片发给你吗?!
-
信息:这被称为最小排除项。
标签: algorithm