1

我们有一个从 1 到 100 的数字数组。缺少两个数字。使用 O(n) 时间和 O(1) 空间找到这两个数字。请注意,数组中的这些数字未排序。示例:假设有一个数组 [4, missing , 1, missing , 2] 如您所见,缺失的是 3 和 5。假设从 1 到 5 的数字数组和两个数字缺失。实际上,它是 [4, 1, 2] 没有 3 和 5。

所以,我不知道如何解决这个问题。你们有人可以帮我吗?我的编程语言是 c++。这是数组:

{24, 44, 19, 92, 1, 18, 28, 50, 88, 5, 52, 11, 76, 39, 82, 85, 65, 93, 98, 4, 72, 94, 45, 59, 48 , 46, 47, 67, 87, 99, 14, 70, 80, 25, 20, 22, 21, 41, 77, 73, 2, 13, 36, 6, 27, 81, 29, 62, 8, 35 , 32, 49, 10, 100, 90, 78, 30, 34, 51, 9, 43, 58, 26, 33, 64, 15, 17, 57, 12, 56, 61, 79, 75, 97, 84 , 42, 55, 83, 91, 86, 38, 89, 96, 74, 23, 7, 68, 60, 16, 66, 69, 53, 3, 71, 37, 63, 54, 95}

4

1 回答 1

-2

对数组进行排序,遍历数组字段,与i在每一步增加的计数器进行比较,如果与向量中i的字段不同。push_back(i)

于 2013-08-04T19:09:09.623 回答