You are given an array of n integers (a1, a2,....,an), you need to find if the array contains a pythagorean triplet or not.
An array is said to have a pythagorean triplet if there exists three integers x,y and z in the array such that x^2 + y^2 = z^2.
Note1. The integers x,y and z might not be distinct , but they should be present at different locations in the array i.e if a[i] = x, a[j] = y and a[k] = z, then i,j and k should be pairwise distinct.
2. The integers a,b and c can be present in any order in the given array.
The first line contains a single integer t - the number of test cases. Each test case consists of 2 lines as follows:
The first line of each test case will contain the integer n, denoting the total number of elements in the array.
The second line of each test case will contain n space-separated integers a1,a2,....,an , where ai is the ith element of the array..
Output Format:
For each test case, print “yes”, if the array contains a pythagorean triplet,”no” otherwise.
Note:
You do not need to print anything, it has already been taken care of. Just implement the given function.
1 <= T <= 10
3 <= N <= 10^3
1 <= a[i] <= 10^4
Time Limit: 1sec
1
5
1 4 3 2 5
yes
One of the possible pythagorean triplet is (3,4,5), as 5*5 = 25 = 3*3 + 4*4.
1
3
1 1 1
no
Implementation, Try all the possible triplets.
O(n^3) , where n is the number of integers in the array.
As we are running 3 nested loops.
O(1).
As we are using constant extra space.