Pythagorean Triplets

Difficulty: MEDIUM
Contributed By
Pankaj Sharma
Avg. time to solve
35 min
Success Rate

Problem Statement

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.

1. 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.
Input Format:
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.
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
Sample Input 1:
1 4 3 2 5
Sample Output 1:
Explanation of the Sample Input1:
One of the possible pythagorean triplet is (3,4,5), as 5*5 = 25 = 3*3 + 4*4.    
Sample Input 2:
1 1 1
Sample Output 2:
Reset Code
Full screen