title: Given an array of strings and char, return strings containing char? I've gotten O(N^2), but is there a way to optimize?
body: <p>Given an array of strings and char, return strings containing char (no built in functions)? I've gotten O(N^2), but is there a way to optimize? Perhaps a way utilizing a dict? Thanks! Edit: Strings are unsorted/unique to list.</p>
  
  <pre><code>def find_char(array, char_to_find):
      strings = []
      for i in xrange(len(array)):
          notFound = True
          for j in xrange(len(array[i])):
              if array[i][j] == char_to_find and notFound:
                  strings.append(array[i])
                  notFound = False
      return strings
  
  array = ['bob', 'yo', 'hello', 'yes']
  print find_char(array, 'o')
  </code></pre>