Showing posts with label interview questions. Show all posts
Showing posts with label interview questions. Show all posts

Saturday, June 18, 2011

In list of numbers, find each pair that equals 100

Yes I know this has no graceful error protection for user input, wanted the example code to focused on problem space.

#!/usr/bin/env python
import random
import sys
X=int(sys.argv[1]) # e.g. enter 100 on the command line
print "In list of numbers, find each pair that equals " + str(X)

myNumbers = []
matched = []
for i in range(1,X):
 myNumbers.append(random.randrange(0,X))

for i in myNumbers:
 A=myNumbers.pop()
 for j in myNumbers:
  if A != False:
   try:
    if ((A+myNumbers[j]) == X):
     B=myNumbers[j]
     del myNumbers[j]
     matched.append([A, B])
     A = False
   except:
    TypeError

for i, j  in enumerate(matched):
 if ((i>0) and (i % 5 == 0)):
  print j
 else:   print j,

print
print "length of remaining unmatched numbers list is " + str(len(myNumbers)) 
print "length of remaining matched numbers list is " + str(len(matched))