Đề yêu cầu tìm số lớn nhất x nằm trong mảng arr, điều kiện là có 2 số nữa cũng nằm trong arr mà tích của nó bằng x ( x = a*b ; x,a,b thuộc arr). Giờ phải sửa thuật toán làm sao để pass test cuối đây @.@
from collections import Counter
def maxPairProduct(a):
m = Counter(a) # dict ( value : freq )
a.sort()
for i in reversed(a):
for j in a:
if (j > i) or (j > math.sqrt(i)):
break
elif i % j == 0:
r = i / j
if r != j and m[r] > 0:
return i
elif r == j and m[r] > 1:
return i
return -1