我有 200 个排序的正整数数组(其中一些有超过一百万个数字)。我需要找到每个数组中存在的第一个数字。你有什么建议?
最佳答案
- 为每个数组保留一个索引。
- 以第一个数组的第一个数字作为引用。
- 第n个数组的第一个数是否低于引用,增加其索引。
- 第n个数组的第一个数是否等于引用,增加n并继续-下一个数组。
- 第n个数组的第一个数字是否大于引用,以该数字为引用并重新开始。
- 如果 n == 201,则您的引用存在于每个数组中。
编辑:代码示例:
while n < len(data):
item = data[n][indices[n]]
if item < reference:
indices[n] += 1
elif item == reference:
n += 1
elif item > reference:
reference = item
n = 0
print reference
关于java - 如何与大量的数字数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11521658/