https://medium.com/@slicesharpy/detecting-the-duplicate-and-missing-number-in-an-array-from-naive-to-optimal-solution-e383c949cab8