Given an ordered array of integers "V" and a integer "Sum", write a function that would return "true" if it finds two numbers in V that add up to Sum, and "false" otherwise.

Because there is no unique solution to the problem the goal is to think different ways to approach an issue and ultimately opt for the best one in terms of complexity. There is an example of set of answers that would show creative thinking and good problem solving skills.1) Trivial solution, just make sure that it works by using 2 for loops to try every combination of sums-> O(n^2)2) Improved solution, realise that you can search faster by binary searching the second element of the sum -> O(nlog(n))3) Best solution, make the complexity linear by using two "pointers" to the start and the end of the vector and gradually step back or forward accordingly to the sum.

FD

Related Computing A Level answers

All answers ▸

Outline the differences between how a compiler and an interpreter works, and explain the advantages and usage of of each [12 marks]


Describe what you understand by abstraction, and how it is relevant to software engineering.


When a stack is implemented using a 1-D array, adding a valid item can cause an execution error. Explain why an execution error can occur in this situation.


A computer stores floating point numbers of size 1 byte, with 3 bits for the mantissa and 5 bits for the exponent. State what the effects would be on the stored numbers if instead 5 bits were used for the mantissa and 3 bits were used for the exponent.