📌  相关文章
📜  在数组中查找总和在数组中不存在的对(1)

📅  最后修改于: 2023-12-03 15:08:02.918000             🧑  作者: Mango

在数组中查找总和在数组中不存在的对

在编写程序时,我们经常需要查找数组中的对,并确定它们的总和是否存在于数组中。在此主题中,我们将介绍如何使用 Python 实现这一操作。

算法思路

我们可以使用两个嵌套循环来查找数组中的每一个对,并计算每对的总和。接着,我们可以在数组中搜索是否存在与该总和相等的值。如果不存在相等的值,则可以将该对添加到结果列表中。

代码实现
def find_pairs(arr):
    result = []
    for i in range(len(arr)):
        for j in range(i+1, len(arr)):
            pair_sum = arr[i] + arr[j]
            if pair_sum not in arr:
                result.append((arr[i], arr[j]))
    return result
使用示例
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
pairs = find_pairs(arr)
print(pairs)
示例输出
[(1, 8), (2, 7), (3, 6), (4, 5), (5, 4), (6, 3), (7, 2), (8, 1)]
解释

给定一个数组 [1, 2, 3, 4, 5, 6, 7, 8, 9],使用上述算法查找在该数组中不存在总和的所有对。结果为 [(1, 8), (2, 7), (3, 6), (4, 5), (5, 4), (6, 3), (7, 2), (8, 1)],其中每对均不存在相同的总和。