3 ms·
If you want to train yourself in programming, algorithms and understanding of time complexity, I recommend giving codility.com a go. You are asked to implement
by b0rsuk 9y ago
If you want to train yourself in programming, algorithms and understanding of time complexity, I recommend giving codility.com a go. You are asked to implement solutions for various problems in a programming language of your choice. Basic literature is provided, for example problems which are elegantly solved with stacks come with a pdf about stacks, their implementation in Python and so on. If you go trough the lessons in the order, you will learn many useful programming techniques, and big O notation will no longer sound scary.
The website provides a decent in-browser editor, or you can write in your own and paste the solution. You get a few data points for expected output, can write up to 10 of your own primitive tests (although I tend to use asserts). Your solution is automatically evaluated afterwards, because it has a bunch of unit and performance tests written for it. When your program fails on small correctness tests, the website says what was the wrong output and what the correct output should be like. VERY nice.
The language used to describe problems is a bit obfuscated and maths-like, but I treat that as extra challenge. You certainly don't have to remember much from your university or high school to get started. It is important to understand and rephrase what they are asking of you.