I’m new to #leetcode and in the process of learning DS & Algos. My rationale is that I should memorize a few of the most common questions on each of the most important datastructures using spaced repitition. Once I’ve memorized the basics such as reversing a linked list, validating a binary search tree etc, then I can really focus on my pure problem solving. Once I have these fundementals memorized, I’ll have a bigger toolbox in my brain to leverage when solving new novel problems. What do you guys think? Good idea or am I mistaken? 0 YOE TC: zilch
India
Yesterday
266
Heard congress distributing wealth
Tech Industry
Yesterday
3084
Avoid teams with only Chinese or Indians especially with a Chinese/Indian manager
Tech Industry
2d
41313
Worried that our top performer is an attrition risk. How do managers handle this?
Tech Industry
Yesterday
1049
I haven’t done shit today!
Financial Services Industry
Yesterday
376
Meta stock
Man I’m nearly 50 and I’m like “what is this LeetCode shit?”
What is there to memorize in them. Seems like your concepts on pointers, structures and memory aren't clear. Watch videos on them and then go LC. Geeksforgeeks is a good source for subjective knowledge.
I actually just referred to leetcode as a general term for DS and algo questions. I’m actually not really leetcoding, but I am learning the basic datastruxtures and algorithms right now. I thought memorizing solutions to problems that uses information I just finished learning would help me retain the information.
On a funny note, op wants to memoize LC and used cached results from memory for faster solutions
Lmao exactly 😂
I am glad you caught up on the joke. There are several repetitive questions there, like 2 sum, 3 sum and their variations, I think you can do without mugging it up, once you see and solve all of those you should automatically remeber. Also, once you submit a solution, they give you links to similar problems, if you are interested, so the additional memoization step perhaps ain't needed
You can't really memorize all of those, there are too many permutations & combinations. Having said that, I do advice taking some course, educative.io have a pretty reasonable course named grooking coding interview, I really liked it. Afterwards, you will need to practice those educative.io questions as well as questions on leetcode, by practicing you will end up kind of memorizing them, it's less of rote memory and more of muscle memory i.e after you have solved may be 100-200 medium questions on your own then you will start seeing patterns and would be able to code reasonably fast. Of course there is always going to be people who are going to be naturally better at this than you are, don't let that demotivate you. Try to get hired in a company where everyone is smarter than you!
Why should “everyone” need to be smarter than him? He would struggle there, no?
Not really, what I meant was join a place where everyone is smarter than you so you can learn a lot from them, of course that implies that those smart folks are not asshole i.e team/company culture is helping others, being respectful etc. if you are surrounded by humble yet smart folks and you are are ready to work hard then you can learn a lot
You can’t memorize all. And even if you do, that would be waste of your time. Read or watch videos on data structures and algos. Get a feeling. Implement data structures and some classic algos. Then move to LC simple. You would eventually realize your weak areas. And then work on that. I remember that I started with cracking the coding interview book, and from there I moved to LC. And now EPI. But every now and often I need to refresh some concepts on advanced graph algorithms. Good luck!
Ah ok, I guess I’m just so fearful of forgetting anything I learn. I’ve been self teaching programming for the last 5 months and I’ve literally put almost everything I’ve learned into spaced repitition software so I don’t forget it... but got it, that makes sense. Thank you
It dependends what you mean with "memorizing". If you mean to understand the algorithms and structures and memorize them in order to develop "muscle" to leet code faster, go for it. But if you mean just memorize them with no much idea of their time complexity or full understanding how they work, I think it won't be very useful. Many leet code problems consists on modifications on these algorithms and structures. If the problem is you find theory books or courses hard to follow, let me recommend you the book "The algorithm design manual". If you already know how to code it will give you a pretty solid understanding of many CS concepts without digging deep in the math behind them. You don't need to solve all the problems there, just 4 or 5 per chapter is ok and in a couple of months you'll be ready to leet code like a champion.
What's your background in CS fundamentals? If you have taken an Algos class in your college and have an ability to reason logically, you can jump into LC. Smart memorization might work with fundamentals in place. You don't have to memorize as you will see patterns after some practice.
I looked at this question and thought why would someone choose memoization to start with as a beginner. Then I read it properly and it got worse lol
You should take a data structure and algorithms course before jumping into Leetcode. you should, at lease once, build all these below data structures from scratch + its traversal algorithms: * Singly/Doubly LinkedList * Binary / Binary Search / AVL Tree * Stack / Queue / Priority Queue / Heap * HashTable * Graph + its common ops (bfs, dfs, dijkstra) There are also sorting, recursion too. Then, you can start Leetcode. Just my two cents. I may be biased because I have a BS in CS and I found it helpful.
This except no need to implement AVL tree, heap or a hashtable.
Thank you. So it would be useful to memorize each of the traversal algorithms for each of the data structures right? I was just thinking memorizing a problem that involves each operation would be a practical way to learn it no? I am taking a DS course, but to retain the information I’m learning I thought it would be a good idea to put a problem into my spaced repitition software that involves the traversal method I want to memorize