title: Given a string of a million numbers, return all repeating 3 digit numbers
body: <p>I had an interview with a hedge fund company in New York a few months ago and unfortunately, I did not get the internship offer as a data/software engineer. (They also asked the solution to be in Python.)</p>
  
  <p>I pretty much screwed up on the first interview problem...</p>
  
  <blockquote>
    <p>Question: Given a string of a million numbers (Pi for example), write
    a function/program that returns all repeating 3 digit numbers and number of
    repetition greater than 1</p>
  </blockquote>
  
  <p>For example: if the string was: <code>123412345123456</code> then the function/program would return:</p>
  
  <pre><code>123 - 3 times
  234 - 3 times
  345 - 2 times
  </code></pre>
  
  <p>They did not give me the solution after I failed the interview, but they did tell me that the time complexity for the solution was constant of 1000 since all the possible outcomes are between:</p>
  
  <p>000 --> 999</p>
  
  <p>Now that I'm thinking about it, I don't think it's possible to come up with a constant time algorithm. Is it? </p>