📅  最后修改于: 2023-12-03 15:25:45.449000             🧑  作者: Mango
这个程序用于寻找包含元素正负值的所有对。对于每个正数x,程序会寻找是否存在一个负数y,让它们的和等于一个给定的数k。程序将所有这样的情况打印出来。
def positive_negative_pairs(arr, k):
pairs = []
for i in range(len(arr)):
if arr[i] > 0:
for j in range(len(arr)):
if arr[j] < 0 and arr[i] + arr[j] == k:
pairs.append((arr[i], arr[j]))
return pairs
>>> arr = [2, -5, 10, -7, 0, 5, 3, -4, -1]
>>> k = 5
>>> positive_negative_pairs(arr, k)
[(2, -7), (5, 0), (3, -2), (-4, 9), (-1, 6)]
时间复杂度:O(n^2) 空间复杂度:O(1) (除了返回的输出列表外,本算法的空间复杂度是常量级别的)