title: Find shortest subarray containing all elements
body: <p>Suppose you have an array of numbers, and another set of numbers. You have to find the shortest subarray containing all numbers with minimal complexity.</p>
  
  <p>The array can have duplicates, and let's assume the set of numbers does not. It's not ordered - the subarray may contain the set of number in any order. </p>
  
  <p>For example:</p>
  
  <pre><code>Array: 1 2 5 8 7 6 2 6 5 3 8 5
  Numbers: 5 7
  </code></pre>
  
  <p>Then the shortest subarray is obviously <code>Array[2:5]</code> (python notation).</p>
  
  <p>Also, what would you do if you want to avoid sorting the array for some reason (a la online algorithms)?</p>