https://levelup.gitconnected.com/leetcode-the-two-sum-problem-least-to-most-efficient-solutions-5824ede59228