Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Create Intervals by johankor
def create_intervals(data):
# s = start
# e= end
res=[]
if len(data)<1:
return res
data=sorted(data)
s=data[0]
e=data[0]
if len(data)==1:
return [(s,e)]
for i in range(1, len(data)):
if data[i]-data[i-1]==1:
e=data[i]
if i == len(data)-1:
res.append((s,e))
else:
res.append((s,e))
s=data[i]
e=data[i]
if i == len(data)-1:
res.append((s,e))
return res
if __name__ == '__main__':
#These "asserts" using only for self-checking and not necessary for auto-testing
assert create_intervals({1, 2, 3, 4, 5, 7, 8, 12}) == [(1, 5), (7, 8), (12, 12)], "First"
assert create_intervals({1, 2, 3, 6, 7, 8, 4, 5}) == [(1, 8)], "Second"
print('Almost done! The only thing left to do is to Check it!')
July 16, 2019
Comments: