This is my playground for working on algorithms!
One of my most effective ways of studying algorithmic patterns has been writing out coding solutions for common problems and annotating them for myself. I get to be my own Bill Nye and explain how and why the solutions work! My primary language is Javascript, but because I've been learning Python, you'll see that some problems are available in both Python and JS. You'll also probably see that the explanations will be different for both--because the learning is in the annotating for me, I try to do it from scratch every time!
I'm still learning, so please let me know if you catch a mistake or a badly-worded explanation. I'll make sure to update.
Cheers!