Skip to content

Instantly share code, notes, and snippets.

@yask123
Created June 8, 2016 11:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yask123/900043470943d37f1b2e262f5d030688 to your computer and use it in GitHub Desktop.
Save yask123/900043470943d37f1b2e262f5d030688 to your computer and use it in GitHub Desktop.
def merge_ranges(input_range_list):
prev_start_date = input_range_list[0][0]
prev_end_date = input_range_list[0][1]
result = []
for i in range(1,len(input_range_list)):
current_start_date = input_range_list[i][0]
if current_start_date > prev_end_date:
result.append([prev_start_date,prev_end_date])
prev_start_date = current_start_date
prev_end_date = input_range_list[i][1]
else:
prev_end_date = max(prev_end_date,input_range_list[i][1])
result.append([prev_start_date,prev_end_date])
return result
print merge_ranges([[5,50], [25,100], [150,200]])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment