I am a huge fan of Datastructures and Algorithms form my college days and I have studied numerous books about techniques of algorithms and optimizing it but only after started using leetcode I realized I was all theory(Static) and not much in practical(Runtime).
I started using Leetcode around March 2017 as it attracted me with various design and alogirthm problems which I can solve and it a very begining stage only I realised that I am failure as I was not able to complete even 1% of the problems in the respository efficiently.
Later I took up the challenge and decided that I will crack atleast 1 problem a day and if not able to crack atleast go though the solutions provided by others to see their approach of solving the problem and identified all my gaps in thinking.
Believe me, in less than 2 years now I am able to crack many of the problems very easily which my peers feel impossible to crack. I have become super resourcefull in taking DS and Algorithms interviews in my office now.
On the other hand of my career change plan, with the knowledge and continous practice on leetcode I am able to crack almost any company's DS and Algorithm round now. From past 4 months I have cracked atleast 20 companies (All Bigshots) in DS and Algorithms round. [ Due to other technical gaps and compensation discussion I have not opted any offer yet]
I recommend all those who are thinking for career upgrade in programming then start hitting letetcode site and start solving the problems and be ready for Runtime.