class Solution(object):
def merge(self, intervals):
"""
:type intervals: List[List[int]]
:rtype: List[List[int]]
"""
if len(intervals)==0:
return []
allval=set()
leftset=set()
rightset=set()
for v in intervals:
allval.add(v[0])
allval.add(v[1])
leftset.add(v[0])
rightset.add(v[1])
vals=list(allval)
vals.sort()
ret=[]
stat=0
for v in vals:
if (v in leftset) :
if stat==0:
leftv=v
stat+=1
if (v in rightset):
stat-=1
if stat==0:
ret.append([leftv,v])
return ret