Given a set of integers, return True if the set is continuous (it only contains sequential integers.)
set1 = {1, 2, 3, 5}
set2 = {9, 8, 7, 10, 11, 12}
print (continuous_set(set1)) #returns False
print (continuous_set(set2)) #returns True
Given a set of integers, return True if the set is continuous (it only contains sequential integers.)
set1 = {1, 2, 3, 5}
set2 = {9, 8, 7, 10, 11, 12}
print (continuous_set(set1)) #returns False
print (continuous_set(set2)) #returns True
You can use the min
and max
functions
set1 = {1, 2, 3, 5}
set2 = {9, 8, 7, 10, 11, 12}
x1 = len(set1) == max(set1)-min(set1)+1 # False
x2 = len(set2) == max(set2)-min(set2)+1 # True
numpy
has a function that calculates the difference of values in an array. Sort the set so that closest numbers are closest, take the difference and see if they are all 1.
>>> import numpy as np
>>>
>>> def continuous_set(s):
... arr = np.array(sorted(s))
... return (np.diff(arr)==1).all()
...
>>> set1 = {1, 2, 3, 5}
>>> set2 = {9, 8, 7, 10, 11, 12}
>>>
>>> print (continuous_set(set1)) #returns False
False
>>> print (continuous_set(set2)) #returns True
True