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
Answered by Fabio D. Computing tutor

1570 Views

See similar Computing A Level tutors

Related Computing A Level answers

All answers ▸

Write pseudocode for the linear search algorithm, and then explain it’s complexity using big-O notation


What are higher order functions in functional programming? How does the 'map' function work and why is it a higher order function?


How can I decide whether Quicksort or Mergesort is better for a given situation?


why is the Harvard architecture is sometimes used in preference to the von Neumann architecture and give examples of each system


We're here to help

contact us iconContact ustelephone icon+44 (0) 203 773 6020
Facebook logoInstagram logoLinkedIn logo

MyTutor is part of the IXL family of brands:

© 2025 by IXL Learning