#python-3.x
#python-3.x
Вопрос:
def printPairs(arr, n, sum):
for i in range(0, n ):
for j in range(i 1, n ):
if (arr[i] arr[j] == sum):
print("(", arr[i], ", ", arr[j], ")", sep = "")
# Driver Code
arr = [1, 5, 7, -1, 5]
n = len(arr)
sum = 6
printPairs(arr, n, sum)
Комментарии:
1. ожидаемый результат: (-1, 7) (1, 5)
2. Итак, в чем ваш вопрос? Если это из Leetcode, вы должны добавить ссылку на источник и подробное описание, чтобы было понятно. `maxPairs’? Ваша программа не работает. Попробуйте этот ввод [4, 2, 1, 3, 6], цель=6
3. мой вопрос в том, что я хочу найти пары в заданном массиве = [1,5,7, -1,5], где сумма пар должна быть 6, я могу найти пары с помощью приведенного выше фрагмента кода, но мне нужен вывод как (-1,7) (1,5) … объяснение вывода заключается в том, что в обеих парах первое значение меньше следующего, и дубликатов быть не должно. Спасибо
4. Вы пытаетесь
prefix-sum
или используете сопоставлениеdictionary
? Имеет ли это количество пар какие-то ограничения?5. Ваши ожидаемые результаты странные — должно ли это быть так:
(1,5), (7, -1)
вместо этого? В зависимости от позиции.
Ответ №1:
Похоже ли это на то, что он сделает эту работу за вас?
def printPairs (array, total) :
used = []
for number1 in array :
for number2 in array :
if number1 number2 == total and number2 not in used :
print (f'({number1}, {number2})')
used.extend ([number1, number2])
test_array = [1, 5, 7, -1, 5]
# test_array = [4, 2, 1, 3, 6]
target = 6
printPairs (test_array, target)