A bunch of mostly elementary programming puzzles, which I wanted to rummage for interview questions. I think that the authors of a programming book who advise their readers, "Make Your Arrays a Little Larger Than Necessary — Off-by-one errors are a particularly subtle and tricky class of bugs. Clear thinking and discipline are the right way avoid them. [sic] But thinking is hard and memory is cheap. We find it a useful crutch to define arrays one or two elements larger than should be necessary so as to minimize the consequences of any off-by-one error," should be drawn and quartered (or fifthed).
I'll admit, I haven't solved all the problems in the book.
So, this book in the era of Leetcode, Hackerrank and the like might look obsolete. But, here the problems are well thought of whereas some of the problems of Hackerrank are not well defined. Surely a very interesting collection of computer science problems, touching effectively every known subfield of CS out there.
Plus, you can still submit your solutions at [1] and get judged by the bot. So, using this book and [1], you have a Hackerrank of top quality problems that will better your problem solving skills for sure.
I've read this book when I was preparing to programming competitions while still in high school. Although it doesn't have advanced concepts it's very practical and in my opinion good way to start participating in programming contests,