import math
#check if a number is fibonacci
def is_fib(n):
return math.sqrt(5* n**2 + 4 ).is_integer() or math.sqrt(5* n**2 - 4).is_integer()
for i in range(int(input())):
T = int(input())
liste = [i for i in map(int,input().split())]
cnt = 0
arr = {}
for i in range(len(liste)):
for j in range(1,len(liste)):
if is_fib(liste[i]+liste[j]) and (liste[i]+liste[j] not in arr) and liste[i] != liste[j]:
cnt +=1
arr[liste[i]+liste[j]] = liste[i]+liste[j]
print(cnt)
我解决了一个问题,即列表中两个数字的和是斐波那契数 但是我得到的时间复杂度是O(n ^ 2)
如何减少时间复杂度