I felt like doing an algorithm and found this problem on leetcode
Given an array of integers, find two numbers such that they add up to a specific target num
Sort the array. Make two pointers point at first and last (x and X). Run this in a loop:
if (a[X]+a[x] > N) then X-- else if (a[X]+a[x] < N) then x++ else if (a[X]+a[x] == N) then found. if (x > X) then no numbers exist.
O(nlogn) time, O(1) memory
O(nlogn)
O(1)