**Algorithm**

The following algorithm examines all the components in a given array to check for the existence of any two numbers, where one of them is the square of the other, in the given array or not.

For example 1: input: A[9,5,28,25,47, 55] output: true

For example 2: input: A[24,15,18,18,42, 22] output: false

In example 1 the output is True because (5 and 25), where 25 is the square value of 5, while the output of example 2 is False because there is no any pair of numbers that meets this condition.

Input: An array A[0…n-1]

Output: Return True if there exist any two numbers, where one of them is the square of the other in the array, False otherwise

a) Design a brute force algorithm to solve this problem and analyze its complexity.

b) Design a more efficient algorithm to do the same job analyze the complexity of your algorithm .

c) Develop a python code to implement your efficient algorithm.