【发布时间】:2010-09-23 11:26:43
【问题描述】:
假设您有一个数组“值 => 时间戳”。这些值随着时间的推移而增加,但可以随时重置。
例如:
$array = array(
1 => 6000,
2 => 7000,
3 => 8000,
7 => 9000,
8 => 10000,
9 => 11000,
55 => 1000,
56 => 2000,
57 => 3000,
59 => 4000,
60 => 5000,
);
我想从这个数组中检索所有缺失的值。
这个例子会返回:
array(4,5,6,58)
我不想要 9 到 55 之间的所有值,因为 9 比其他更高的值更新。
在实际情况下,脚本将处理数千个值,因此它需要高效。
感谢您的帮助!
更新: 如果算法更容易,初始数组可以按时间戳排序。
更新 2: 在我的示例中,这些值是 UNIX 时间戳,因此它们看起来更像这样:1285242603 但出于可读性原因,我对其进行了简化。
【问题讨论】:
-
这很容易做到……你试过了吗?如果是这样,你在哪里失败了?
-
10, 11, ..., 53, 54 怎么样?
-
您需要对其进行迭代并在到达每个元素时应用您的条件。似乎是一个奇怪的要求。
-
如果您能详细说明为什么需要这种类型的功能,那么它将帮助其他人引导您朝着正确的方向前进。