繁体   English   中英

在少于O(n ^ 2)的时间内比较两个数组的元素?

[英]Compare elements of two arrays in less than O(n^2) time?

我有两个整数数组。 我需要找出两个数字,每个数组一个,其总和等于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)个时间。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM