Implement part 1/3 for "Memo"

After hearing from a Jane Street recruiter, I decided to dust off some of the
DS&As knowledge. I found this article online, which outlines an example problem
called "Memo":

https://blog.janestreet.com/what-a-jane-street-dev-interview-is-like/

Here's part 1 of the solution in Python.
This commit is contained in:
William Carroll 2020-07-01 14:40:40 +01:00
parent 011f7aeaec
commit ec7c8516f7

View file

@ -0,0 +1,19 @@
import time
import random
memo = {}
def f(x):
if x in memo:
print("Hit.\t\tf({})".format(x))
return memo[x]
else:
print("Computing...\tf({})".format(x))
time.sleep(0.25)
res = random.randint(0, 10)
memo[x] = res
return res
[f(random.randint(0, 10)) for _ in range(10)]