Respuesta :
Complete PYTHON code with explanation:
def solution(nums):
# form a dictionary which will store
# the possible pair's sum as key and the indexs used for the sum
sumAndpair = {}
# for every element in list nums
for i in range(len(nums)):
# iterate on all the element to the right of current element
for j in range(i+1,len(nums)):
# calculate the sum of current 2 elements
sum = nums[i] + nums[j]
# if the sum is already in the dictionay
if sum in sumAndpair:
# check if the current index have already been used
# if yes, then continue to next iteration
# this will make sure that same number have not been used more than once
if i in sumAndpair[sum] or j in sumAndpair[sum]:
continue
# if no, then append the current i and j to the value of current sum
else:
sumAndpair[sum].append(i)
sumAndpair[sum].append(j)
# if the current sum is not in the dictionary
# add the sum as key with a list of index used
else:
sumAndpair[sum] = [i, j]
# copmpute the maximum possible number of pairs with the same sum
# which will be the maximum length value out of all the possible sum
# this maximum length will be divided by 2, since a pair of i, j contrinute to one sum
maxLength = 0
for key, value in sumAndpair.items():
if maxLength
def solution(nums):
# form a dictionary which will store
# the possible pair's sum as key and the indexs used for the sum
sumAndpair = {}
# for every element in list nums
for i in range(len(nums)):
# iterate on all the element to the right of current element
for j in range(i+1,len(nums)):
# calculate the sum of current 2 elements
sum = nums[i] + nums[j]
# if the sum is already in the dictionay
if sum in sumAndpair:
# check if the current index have already been used
# if yes, then continue to next iteration
# this will make sure that same number have not been used more than once
if i in sumAndpair[sum] or j in sumAndpair[sum]:
continue
# if no, then append the current i and j to the value of current sum
else:
sumAndpair[sum].append(i)
sumAndpair[sum].append(j)
# if the current sum is not in the dictionary
# add the sum as key with a list of index used
else:
sumAndpair[sum] = [i, j]
# copmpute the maximum possible number of pairs with the same sum
# which will be the maximum length value out of all the possible sum
# this maximum length will be divided by 2, since a pair of i, j contrinute to one sum
maxLength = 0
for key, value in sumAndpair.items():
if maxLength