https://mimzivvimzi.medium.com/using-a-dictionary-with-a-medium-level-leetcode-find-the-duplicate-number-62c3625c3740