As someone who sucks at maths and puzzle solving in general, Steve Skiena's book is proving to be quite approachable for me. Although I have to jump back and forth between the book and Khan Academy to look up some of the Maths.
He also has video lectures for the book: https://www3.cs.stonybrook.edu/~skiena/373/videos/
Another thing that helped me was brushing up on C programming skills. As a Python programmer, algorithms like hash maps don't make any sense because you just slap keys and values on a dictionary and call it a day but in C, you get to see how buckets and hash functions are used to build hash maps.