gpt4 book ai didi

arrays - 从两个数组中查找特定的元素总和

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:54:11 26 4
gpt4 key购买 nike

你能帮我解决这个问题吗? :“让 A 和 B 是自然数的递增排序数组,K 是某个任意自然数。找到一个有效的算法来确定所有可能的索引对 (i,j),使得 A[i]+B[j]=K . 证明算法的正确性并估计其复杂性。”

我是否应该只遍历第一个数组并对另一个数组进行二分查找?谢谢:)

最佳答案

不!

两个数组都是有序的,因此您执行以下操作:

  • A的开头放置一个迭代器itA
  • B的末尾放置一个迭代器itB
  • 沿相反方向移动迭代器,在每次迭代时测试 *itA + *itB。如果该值等于 K,则返回两个索引。如果该值小于K,则递增itA。否则,递减 itB

当你遍历两个数组时,你就在线性时间内完成了。

关于arrays - 从两个数组中查找特定的元素总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13058847/

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