StartUp Interview Question
Data ScientistsCountry: India
Interview Type: Written Test
def cache(f, size):
cached_vals = {}
cached_args = []
def wrapped(*args):
if args in cached_vals:
return cached_vals[args]
result = f(*args)
if len(cached_args) == size:
args_of_result_to_remove = cached_args.pop()
del cached_vals[args_of_result_to_remove]
cached_vals[args] = result
cached_args.insert(0, args)
return result
return wrapped
- udaysagar2177 October 06, 2015