In this Bite we provide you with 5 functions which you have to try to make faster. Some require different data structures or tactics. Knowing about these techniques goes a long way specially when your data sets grow and performance becomes an issue.
- you need to complete the 5 functions containing _fast
timingdecorator can be ignored, the tests use this to time each function
- we added some type hinting to help you, but some functions might require a different return type (so change it or get rid of the typing)
bisectwould be a candidate for
contains_fastbut we think
dict) is the best way so this is the only function with a different input argument type for the fast equivalent (type casting was too expensive)
- The tests ensure that the fast functions A. return the same result, B. are indeed faster
For some this may be easy, for others this might be an eye opener, regardless have fun and keep calm and code in Python!