a pair of numbers in this array that has a sum equal to a given key or not. For example, if
the arr = [8, 7, 2, 5, 3] and the key = 12, the answer will be "Yes" as the array has a pair
(7 and 5) where their sum= 12 = key, otherwise "No" is returned. To solve this problem,
the following idea can be used:
i. Consider every pair in the given array and check if their sum = key.
ii. Sort the array first, keeping two pointers to on the minimum and maximum of the
array and then move from both directions toward the center of the array while
checking whether the sum = key or not.
Answer the following questions:
a) Transform each of the above ideas (i) & (ii) into algorithm (pseudocode) and
compute their complexities
b) Critic these two ideas: [Which is better? Why?]
c) Design a better solution with less complexity. [note: your idea should be explained
in simple English, transformed into algorithm (pseudocode),
d) Implement your solution in Q(C) using python.