title: Efficient way to find missing elements in an integer sequence
body: <p>Suppose we have two items missing in a sequence of consecutive integers and the missing elements lie between the first and last elements. I did write a code that does accomplish the task. However, I wanted to make it efficient using less loops if possible. Any help will be appreciated. Also what about the condition when we have to find more missing items (say close to n/4) instead of 2. I think then my code should be efficient right because I am breaking out from the loop earlier?</p>
  
  <pre><code>def missing_elements(L,start,end,missing_num):
      complete_list = range(start,end+1)
      count = 0
      input_index = 0
      for item  in  complete_list:
          if item != L[input_index]:
              print item
              count += 1
          else :
              input_index += 1
          if count &gt; missing_num:
              break
  
  
  
  def main():
      L = [10,11,13,14,15,16,17,18,20]
      start = 10
      end = 20
      missing_elements(L,start,end,2)
  
  
  
  if __name__ == "__main__":
      main()
  </code></pre>