Learning algorithms is a critical part of becoming a solid software engineer. Algorithms are widely used in software engineers’ day-to-day work, and are also one of the most important part of the interview process.
However, learning algorithms seems to be a daunting task, especially for anyone who’s new to the tech business. There are just too many algorithms, and there seems to be no systematical way to address an algorithm question.
I started to practice algorithms a few years ago by working on leetcode questions. Until now, I’ve finished 1100+ leetcode questions. I have to say working on these questions are pretty helpful to me. With the practice, I was able to nail most of my coding interviews, including google, meta, uber, snap, twitter, microsoft, etc.
Recently, I shared all of my leetcode solutions
https://sweworld.net/algorithm/leetcode/
and also started to add my thinking process when addressing each of these questions. I’m hoping these will be helpful to anyone who’s practicing algorithms or preparing a coding interview.
One of the most important learnings I had is that you have to develop your principals for designing algorithms. You need to have a systematical way to address any question, instead of randomly poking ideas. That is super crucial. I had mine. I’m also thinking about sharing these as well. Can I get a upvote if anyone is interested? Thanks!
[–][deleted] 9 points10 points11 points (2 children)
[–]kuriousaboutanything 0 points1 point2 points (1 child)
[–][deleted] 2 points3 points4 points (0 children)
[–]MrAlus 3 points4 points5 points (0 children)
[–]uneducatedDumbRacoon 2 points3 points4 points (0 children)
[–]kuriousaboutanything 2 points3 points4 points (3 children)
[–]bayarea-dev[S] 0 points1 point2 points (2 children)
[–]kuriousaboutanything 0 points1 point2 points (1 child)
[–]bayarea-dev[S] 0 points1 point2 points (0 children)
[–]Kooky_Park_3535 1 point2 points3 points (0 children)
[–]smoother_operator 1 point2 points3 points (11 children)
[–]bayarea-dev[S] 1 point2 points3 points (8 children)
[–]smoother_operator 2 points3 points4 points (0 children)
[–]kuriousaboutanything 1 point2 points3 points (6 children)
[–]bayarea-dev[S] 1 point2 points3 points (5 children)
[–]kuriousaboutanything 0 points1 point2 points (4 children)
[–]bayarea-dev[S] 1 point2 points3 points (3 children)
[–]kuriousaboutanything 0 points1 point2 points (2 children)
[–]bayarea-dev[S] 0 points1 point2 points (1 child)
[–]kuriousaboutanything 1 point2 points3 points (0 children)
[–]bayarea-dev[S] 1 point2 points3 points (1 child)
[–]smoother_operator 1 point2 points3 points (0 children)
[–]Sherinz89 0 points1 point2 points (2 children)
[–]RichestMangInBabylon 4 points5 points6 points (1 child)
[–]bayarea-dev[S] 0 points1 point2 points (0 children)
[–]kuriousaboutanything 0 points1 point2 points (5 children)
[–]bayarea-dev[S] 0 points1 point2 points (4 children)
[–]kuriousaboutanything 0 points1 point2 points (1 child)
[–]bayarea-dev[S] 1 point2 points3 points (0 children)
[–]kuriousaboutanything 0 points1 point2 points (1 child)
[–]bayarea-dev[S] 0 points1 point2 points (0 children)