gpt4 book ai didi

algorithm - 在不到 O(n^2) 的时间内比较两个数组的元素?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:28:53 25 4
gpt4 key购买 nike

我有两个整数数组。我需要从每个数组中找出两个数字,其总和等于 2。这在 O(n^2) 中非常简单,但有没有更快的方法?

最佳答案

你可以像这样在 O(N+M) 时间和 O(N) 空间内完成:

  • 将数组a的元素放入哈希集中
  • 遍历数组b,检查哈希表是否包含2-b[i]

构造N 元素的哈希集需要O(N) 的时间和O(N) 的空间。根据哈希集检查每个 M 元素需要 O(1),总共需要 O(N+M) 时间。

关于algorithm - 在不到 O(n^2) 的时间内比较两个数组的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49407831/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com