Interview Guides
Given a list of memory ranges ranges, where each range is a pair [start, end] of integers and start <= end, merge all ranges that overlap or are directly adjacent. Two ranges [a, b] and [c, d] should be merged if c <= b + 1. Return the merged ranges sorted by start address.
1 <= len(ranges) <= 10^4ranges[i].length == 20 <= start <= end <= 10^9