Advertisement
Guest User

Untitled

a guest
Aug 25th, 2016
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.09 KB | None | 0 0
  1. def missing(numranges):
  2. (minimum, maximum) = (min(map(lambda x: x[0], numranges)),
  3. max(map(lambda x: x[1], numranges)))
  4. (count, i) = (0, minimum)
  5.  
  6. while i < maximum:
  7. if any(j <= i <= k for j, k in numranges):
  8. count += 1
  9. i += 1
  10.  
  11. return maximum - minimum - count
  12.  
  13. def missing(numranges):
  14. number_of_missing = 0
  15. for i, range in enumerate(numranges):
  16. if i == len(numranges)-1:
  17. break
  18. if numranges[i+1][0] != numranges[i][1]+1:
  19. number_of_missing += numranges[i+1][0] - numranges[i][1] - 1
  20. return number_of_missing
  21.  
  22. test = set(range(1, 100 + 1) + range(102, 200 + 1))
  23. missing = list(set(range(min(test), max(test))) - test)
  24. print (missing)
  25.  
  26. In [22]: input_list = [range(1,100),range(102, 200)]
  27. In [23]: total_list = sum(input_list,[])
  28. In [24]: master_total_list = range(min(total_list),max(total_list)+1)
  29. In [25]: [i for i in master_total_list if i not in total_list]
  30. Out[25]: [100, 101]
  31.  
  32. >>> l = [[1, 50] ,[55, 90], [95, 100]]
  33. >>> sum([l[i+1][0]-m[1]-1 for i, m in enumerate(l[:-1])])
  34. 8
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement