https://dataengineerblog.com/merge-intervals-leetcode-56-python-solution/