java - 如何与大量的数字数组?

标签 java design-patterns data-structures

我有 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/

相关文章:

用于映射多个 MySQL 表的 PHP 设计模式

c++ - 如何改进使用单例模式的消息传递系统?

sql - 构建社交网络类型应用程序的模式?

java - 在 Collectors.groupingBy 中将 null 和空记录视为相同

java - Android 应用程序在 Calender.getInstance 处没有响应

python - 二叉搜索树中三种类型节点的计数(递归)

performance - 计算移动平均线最有效的数据结构是什么?

c++ - 建立索引 : Copies or pointers?

java - 执行区域设置比较的正确方法

java - 与 Java 中的@Override 相反的标记