I also recommend leetcode.com/ - it has a ton of problems to solve and some have solutions with detailed explanations. If you're stuck, try looking at an existing solution to understand the algorithm, and then try to develop something similar. If you can't figure it out, don't dwell on it and try something else.
They also have "Explore" section where they have a number of articles explaining certain algorithms, and give you a number of questions that are solved using provided algorithms. The questions are grouped into blocks, like working with binary search, binary trees, hashes and arrays, linked lists etc.
They also have over 800 questions total, including some rather hard questions (like: write a sudoku solver, it is a fun challenge if you know what is sudoku), and weekly contests. They also have forums where you can often find solutions to questions (sometimes with explanations). And they also have interview questions for various large companies, except those are premium features requiring a subscription. I plan to get onto it after I finish CTCI and finish exploring.
For me personally leetcode was a great find as I figured out how to solve some rather difficult questions in an efficient way, which was an eye opener.
I am an OpenEdge (aka Progress) developer that loves clean code and good looking applications that are easy to use. My main pet project is the Progress DataDigger
Elliot, Good Job!
I also recommend leetcode.com/ - it has a ton of problems to solve and some have solutions with detailed explanations. If you're stuck, try looking at an existing solution to understand the algorithm, and then try to develop something similar. If you can't figure it out, don't dwell on it and try something else.
They also have "Explore" section where they have a number of articles explaining certain algorithms, and give you a number of questions that are solved using provided algorithms. The questions are grouped into blocks, like working with binary search, binary trees, hashes and arrays, linked lists etc.
They also have over 800 questions total, including some rather hard questions (like: write a sudoku solver, it is a fun challenge if you know what is sudoku), and weekly contests. They also have forums where you can often find solutions to questions (sometimes with explanations). And they also have interview questions for various large companies, except those are premium features requiring a subscription. I plan to get onto it after I finish CTCI and finish exploring.
For me personally leetcode was a great find as I figured out how to solve some rather difficult questions in an efficient way, which was an eye opener.
Thanks for this tip, indeed, especially the 'explore' section is very nice because there is some extensive explanation why some choices were made