8.15 µs per loop In [5]: %timeit min_coin_change(28, [1,2,4,5]) 100000 loops, best of 3: 8.8 µs per loop In [6]: %timeit min_coin_change(10000, [1,2,4,5]) 1000 loops, best of 3: 1.74 ms per loop In [7]: %timeit min_coin_change(100000, [1,2,4,5]) 100 loops, best of 3: 17.6 ms per loop In [2]: %timeit min_coin_change(28, [1,2,5]) 10000 loops, best of 3: 163 µs per loop In [3]: %timeit min_coin_change(28, [1,2,4,5]) 1000 loops, best of 3: 262 µs per loop In [4]: %timeit min_coin_change(10000, [1,2,4,5]) 10 loops, best of 3: 73.9 ms per loop In [5]: %timeit min_coin_change(100000, [1,2,4,5]) 1 loops, best of 3: 803 ms per loop