Completely agree that you should just start solving problems before learning theory. A lot of the easy questions are as simple as reversing a string, not exactly an academic algorithm.. But great video, subscribed!
Thanks! Your roadmap is pretty useful and easy to follow! This is my first video, let me know if you have any tips/feedback on the video/audio quality etc.
@@qiqi_impact_official I liked that it was really genuine, and not super flashy. A lot of YTers nowadays just make the exact same 'generic' videos. But imo making 'hardcore' or 'niche' content is a better long term strategy. You might get a lot of views from a video like "How i would learn to code again if i could start over", but those types of viewers are pretty 'casual' and wont stick around. What separates you from 99% of other YTers (including me) is you're better at coding than them. Best to use that to your advantage.
solving problems allows you to make observations, learning theory allows you to connect those dots and see a bigger picture, I see this in many areas in programming.
@@markzuckerbread1865 Neetcode and Qiqi's points are valid but they seem incomplete by saying that the "theory" is optional. Some LC problems (especially the tacked-on "challenges") require, at the very least, the basic concepts introduced in, say, an introductory course to pure mathematics or compsci. For example, formalization of the concept of divisibility is utilized in the "challenge" of problem 1920, where the solution involves "encoding" two values into a single value. If you didn't know the formal definition of divisibility, it'd be almost impossible to come up with an answer. Even then, if you came up with something that didn't rely on the divisibility definition (q*a + r = b), you would have needed the proof-oriented rigor of a math student to justify your own custom encoding function (i.e., to prove correctness). Theory is also important when writing bug-free code: it's one thing to be able to write a solution that passes a set of tests i.e., the solution is only as good as the quality of the tests. It's another to prove a solution is correct i.e., the solution will *always* be correct, which has the side effect of showing that a test was written with errors. TLDR; if you skip theory, you're learning how to solve particular LC problems and its variants, but you won't gain experience seeing why a solution is creative (i.e., understanding how a problem is solved by "thinking outside the box") -- which helps when you tackle problems you haven't seen/encountered before. These problems tend to be asked at fintech companies where there is a higher negative impact/less tolerance for making naive math errors in codebases. With problem 1920, a person who don't know "the theory (of discrete mathematics)" might reflect and conclude "I'll see if I can reapply that definition in other problems" where a person "with theory knowledge" might observe that "This definition has an uncanny applicability to a seemingly unrelated problem. I wonder what sorts of seemingly unrelated problems are solved by applying, say, the multinomial theorem." Some problems of focusing on theory is that: (1) The depth of theory can suck up all of your time, which is an issue if you're doing this to get a job in the near future. (2) Not all concepts are applicable to LC problems.
@@horizonfiosthe algorithm is here to print money for UA-cam not to serve us knowledgeable content. All social media is here to earn money not provide anything unless you resist the algorithm and use the tools to your benefit.
This is clearly the best video on leetcode problem solving and I can relate to a lot of it. Great job keeping it short and sweet. WIll be looking forward to your weekly comment for some hints after this weekends contest
I had to triple check that this was by Qiqi impact, as im a genshin player and aspiring software engineer so I thought it was a youtube bug... please dont change your name, this is amazing
Sometimes mediums are easier than easies. But maybe because I've already learned most of the algorithms I need in university and some of the harder concepts may be more fresh in my mind.
Thank you for advice, now I know I've had a completely wrong approach. I was scared of looking up solutions because you know I felt like it wasn't the right way, like I'm copying someone's homework, so when I wouldn't understand how to solve a problem, I would go back to literature and tutorials...
Having the determination to solve a problem yourself is often very valuable for learning! The only problem is that it can be inefficient if you need to learn many concepts in a limited time.
First video I watch if you and I already really like you, very clear and I'll try to catch one of your stream to join a leetcode room if possible 😊 (I'm in EU so I hope it won't be too difficult)
Great video Qiqi, but as a beginner there are a few problems with your suggestion I would like to point out 1. The question lists mentioned such as neetcode 150 and blind 75 are dominated by hard/medium questions which is not very beginner friendly 2. Learning concepts/implementations as you go is highly time-consuming
1. Then start with the Easy questions in each category, and work your way into Mediums later. If you run out of Easy questions and you're too far from being able to do Mediums, do random Easy problems that aren't on the lists. 2. Learning as you go is the quickest way I've found to gain mastery. I find it much faster than from books. Do you suggest an alternative?
Hello, QiQi. First, I really appreciate the way you and others share relevant information and advice on where to start developing your skills in solving LeetCode problems. NeetCode, Blind, consistency and a few others have been mentioned numerous times. However, what I really question is whether it is possible for the "average" person to achieve skills high enough to be in the top 0.04% by following these and other tips, just by practicing and solidifying a bit with theory over time? Perhaps I'm trying to find a "holy grail" that doesn't exist, but I also can't ignore the bell-shaped curve. From a statistical perspective, it's an extraordinary problem-solving skill and worthy of some measure of admiration, in my opinion. I apologize in advance if your answer to my question is this video. As I wrote earlier, the reason for this is my impression of your skills.
It doesn't matter what the average person can do. It matters what you can do. Figure out what your goals are and form a plan to try to achieve them. If you make it, great! If not, you've gained experience in embarking on a skill-building adventure, which is useful everywhere else in life.
This is the appearance and the credentials I would least expect from a man who goes by Qiqi Impact 💀 Also it would be cool if you make contents about competitive programming from websites like Codeforces since you seem really good with algos
I'm not interested in being a developer. I'm going into Data Analytics. I've been grinding SQL questions. If technical interviews weren't a thing, I'd still do it. I've learned so much from them. My University never acknowledged CTEs, Window Functions, or rolling totals.
This is very insightful, I was wondering if you have any advice on how to identify in which topics one's weak at? Is this what Contests are generally for? And thank you for the great video!
I like the problems on leetcode and the hypothetical performance/memory comparison that is probably inaccurate af, but the fact that there is no LSP is actually wild.
Hash tables, Graphs and Dynamic Programming. So basically easiest data structure to the most difficult category. I think I get what you're trying to say.
Don't blindly follow anyone. Try learning from a good course from youtube and then approach the Leetcode problems. It is also not necessary that a problem tagged as easy will be easy. The tagging doesn't determine the level of question.
Please answer this... I am 32 I have a gap in my career of 5 years due as I was trying to get a job in the government... I have been quite good at coding... Is there any chance for me at FAMNG tier companies... Do companies discriminate against such gaps?
You recommend engaging with dynamic programming problems? I have heard the opposite advice from some very experienced folks - that DP is not very common and should not be the object of focus. Any chance you can elaborate on why you think that topic is/might be useful. Great video! Subbed
which experienced folks have u been in contact with recently? you should cut them out as soon as you can because they are spurting out some bs. Almost every interview and online assesment test you'll give will have a DP problem in it.
I’ve heard the same advice.. I’m skeptical of this video because of the contrary information he’s presented. Some companies have even banned dynamic programming questions from being asked.. including the one I work at which starts at a higher TC than FAANG for context.
@@shadowspade7589 You should be skeptical of everything, but your whole argument is "my own anecdotal experience is different." There are a wide variety of topic/difficulty ranges across companies, and to ignore one of the most fundamental algo concepts just based on that argument isn't smart.
1. dont read books start by doing leetcode problems 2. blind 75 , neetcode roadmap or use tags 3. struggle with a problem for some time and then see solution thanks
I hear conflicting opinions on what to study. Neetcode says DBS, BFS, binary search, and two pointers are the foundation for most problems on leetcode and interviews. Primeagen says dynamic programming questions are not common in interviews.
If I'm struggling with LeetCode questions, should I continue with CodeWars until I become more comfortable with the syntax? And if that's the case, when would be a good time to transition to LeetCode?
Completely agree that you should just start solving problems before learning theory. A lot of the easy questions are as simple as reversing a string, not exactly an academic algorithm..
But great video, subscribed!
Thanks! Your roadmap is pretty useful and easy to follow!
This is my first video, let me know if you have any tips/feedback on the video/audio quality etc.
@@qiqi_impact_official I liked that it was really genuine, and not super flashy. A lot of YTers nowadays just make the exact same 'generic' videos.
But imo making 'hardcore' or 'niche' content is a better long term strategy.
You might get a lot of views from a video like "How i would learn to code again if i could start over", but those types of viewers are pretty 'casual' and wont stick around.
What separates you from 99% of other YTers (including me) is you're better at coding than them. Best to use that to your advantage.
@@NeetCode Appreciate the insight! I haven't decided what I'll do for future videos, but I'll keep that in mind.
solving problems allows you to make observations, learning theory allows you to connect those dots and see a bigger picture, I see this in many areas in programming.
@@markzuckerbread1865 Neetcode and Qiqi's points are valid but they seem incomplete by saying that the "theory" is optional. Some LC problems (especially the tacked-on "challenges") require, at the very least, the basic concepts introduced in, say, an introductory course to pure mathematics or compsci. For example, formalization of the concept of divisibility is utilized in the "challenge" of problem 1920, where the solution involves "encoding" two values into a single value. If you didn't know the formal definition of divisibility, it'd be almost impossible to come up with an answer. Even then, if you came up with something that didn't rely on the divisibility definition (q*a + r = b), you would have needed the proof-oriented rigor of a math student to justify your own custom encoding function (i.e., to prove correctness).
Theory is also important when writing bug-free code: it's one thing to be able to write a solution that passes a set of tests i.e., the solution is only as good as the quality of the tests. It's another to prove a solution is correct i.e., the solution will *always* be correct, which has the side effect of showing that a test was written with errors.
TLDR; if you skip theory, you're learning how to solve particular LC problems and its variants, but you won't gain experience seeing why a solution is creative (i.e., understanding how a problem is solved by "thinking outside the box") -- which helps when you tackle problems you haven't seen/encountered before. These problems tend to be asked at fintech companies where there is a higher negative impact/less tolerance for making naive math errors in codebases. With problem 1920, a person who don't know "the theory (of discrete mathematics)" might reflect and conclude "I'll see if I can reapply that definition in other problems" where a person "with theory knowledge" might observe that "This definition has an uncanny applicability to a seemingly unrelated problem. I wonder what sorts of seemingly unrelated problems are solved by applying, say, the multinomial theorem."
Some problems of focusing on theory is that: (1) The depth of theory can suck up all of your time, which is an issue if you're doing this to get a job in the near future. (2) Not all concepts are applicable to LC problems.
why cant more videos be like this? Short and to the point, everything I could have wanted when clicking on the video! Awesome work!
"why...", because it's bad for the algorithm
@@methanesulfonicthen can they change the algorithm
@@horizonfiosbut that wouldn’t maximize user engagement
@@horizonfiosthe algorithm is here to print money for UA-cam not to serve us knowledgeable content. All social media is here to earn money not provide anything unless you resist the algorithm and use the tools to your benefit.
I never knew Qiqi was so good at coding
😂
Neither did Qiqi.
How else do you think she always beats the algorithm and come home instead of your waifu?
@@zinx6809 Loll.. so that's how I got my c4 Qiqi
@@zinx6809 thats a solid point 😂
This is clearly the best video on leetcode problem solving and I can relate to a lot of it. Great job keeping it short and sweet. WIll be looking forward to your weekly comment for some hints after this weekends contest
You really only mentioning easys and mediums gave me so much confidence 😅 I struggled so hard on my first medium a couple days ago
Congrats! Keep working at it.
I loved how its was just question / answer right to the point, i was focused through the whole thing! good job
I had to triple check that this was by Qiqi impact, as im a genshin player and aspiring software engineer so I thought it was a youtube bug... please dont change your name, this is amazing
Coming here after Neetcode live.
same
The best video on how to practice leetcode!
Sometimes mediums are easier than easies. But maybe because I've already learned most of the algorithms I need in university and some of the harder concepts may be more fresh in my mind.
Starting early is the key, consistency also plays a huge role.
simple, concise and actually helpful. thank you very much. You understand your audience completely.
The efficiency of this video is unmatched, appreciate u
1670 subs in a month with one video is very encouraging, keep going man!
Wow there was absolutely no fluff in this. Thank you.
Literally the same commentary errichto said 😅 love your stuff ❤
The best straightforward answer.
straight to the point , Excellent explanation.
No BS straight to the point!
I like your straight forward approach. It’s always best to fail fast
extremely well spoken, solid content, yep this channel gonna blow up lol
Amazing video buddy, simple and to the point. Thanks!
Underrated channel btw - shall blow up!
One of the best LeetCoders to learn from out there :)
You're good at making videos, continue the good work
here before you get big
and thank you, this is probably the best video to solve all doubts
the fact u talk like qiqi is very relaxing
is python really fine, i have heard people say that u don't learn proper techniques of programming
thank you so much, i was thinking about getting a book on algorithm but i agree with your approach
love the editing
Good video , keep posting bro
one the few people who knows and understands the KISS principle !great video!
come for qiqi, stay for ur great video. many thanks
Trying to get my hands on Leetcode. Excelent video!
Very Helpful Explanation, No BS
Concise and on point! Great video.
Quick, clear and to the point video - this is the way!
Coming after neetcode live
This video is very high quality for how many subs you have… Thanks for the info, i’ll be watching future videos
Great overview. Subscribed immediately.
Thank you for advice, now I know I've had a completely wrong approach. I was scared of looking up solutions because you know I felt like it wasn't the right way, like I'm copying someone's homework, so when I wouldn't understand how to solve a problem, I would go back to literature and tutorials...
Having the determination to solve a problem yourself is often very valuable for learning! The only problem is that it can be inefficient if you need to learn many concepts in a limited time.
I suggest use notion and record every solution you solved with or without solution and try to explain the solution on your own interpretation.
Just came across your channel and glad I did. Thank you for the informative video.
this is an amazing source of information, thank you so much
Really great video, like your explanation style
Thank you!
You earned a sub!!! Brilliant video. Thanks for making it
never thought I would see qiqi and coding together. they are both cursed though so that is one similarity.
This was so helpful, thank you!!
First video I watch if you and I already really like you, very clear and I'll try to catch one of your stream to join a leetcode room if possible 😊 (I'm in EU so I hope it won't be too difficult)
Great vid, thank you!
Concise and to the point. Thank you!
thanks a lot for making this! really helps!
Algorithm gods bless thee. Didn't know you had a YT channel!
Great content. Subscribed!
Great video! Keep going
Pretty straight forward!! Thanks!
astonishingly good video. I was prepared to be annoyed and this was pleasant and clear and very helpful
Amazing Video. Thank you!
you must have pulled Qiqi a billion times to devote yourself to becoming a god of leetcode
How do I get good at code? Simple answer: "don't read books" and shows a video of someone stealing an Amazon package
Dude you saved me. Thank you so much, subbed!
No problem!
I clicked on the channel to find Genshin content, and ended up watching through the whole video. Worth
Great video Qiqi, but as a beginner there are a few problems with your suggestion I would like to point out
1. The question lists mentioned such as neetcode 150 and blind 75 are dominated by hard/medium questions which is not very beginner friendly
2. Learning concepts/implementations as you go is highly time-consuming
1. Then start with the Easy questions in each category, and work your way into Mediums later. If you run out of Easy questions and you're too far from being able to do Mediums, do random Easy problems that aren't on the lists.
2. Learning as you go is the quickest way I've found to gain mastery. I find it much faster than from books. Do you suggest an alternative?
Hello, QiQi.
First, I really appreciate the way you and others share relevant information and advice on where to start developing your skills in solving LeetCode problems. NeetCode, Blind, consistency and a few others have been mentioned numerous times.
However, what I really question is whether it is possible for the "average" person to achieve skills high enough to be in the top 0.04% by following these and other tips, just by practicing and solidifying a bit with theory over time?
Perhaps I'm trying to find a "holy grail" that doesn't exist, but I also can't ignore the bell-shaped curve. From a statistical perspective, it's an extraordinary problem-solving skill and worthy of some measure of admiration, in my opinion.
I apologize in advance if your answer to my question is this video. As I wrote earlier, the reason for this is my impression of your skills.
It doesn't matter what the average person can do. It matters what you can do.
Figure out what your goals are and form a plan to try to achieve them. If you make it, great! If not, you've gained experience in embarking on a skill-building adventure, which is useful everywhere else in life.
This video is GOLD!!!
My dude, you're the goat
best video on this topic
nice channel name xD and great video ty !!
Thanks for sharing!
If “to the point” had a definition, its you my friend
This is the appearance and the credentials I would least expect from a man who goes by Qiqi Impact 💀
Also it would be cool if you make contents about competitive programming from websites like Codeforces since you seem really good with algos
Will do CF in the near future. Currently focusing on LC as it is more accessible stream content.
I'm not interested in being a developer. I'm going into Data Analytics. I've been grinding SQL questions. If technical interviews weren't a thing, I'd still do it. I've learned so much from them. My University never acknowledged CTEs, Window Functions, or rolling totals.
Seg fault in an interview problem will definitely seg fault my brain for few days 😵💫
Sank you very very much my man!
The important is improve your skills, if you go for this you dont boether if you get a job in high tech company or not
great video !!
This is very insightful, I was wondering if you have any advice on how to identify in which topics one's weak at? Is this what Contests are generally for? And thank you for the great video!
The best way to do this (without randomly trying lots of problems) is by going through one of the problem lists in the description.
Very Informative!!
Thank you!
I like the problems on leetcode and the hypothetical performance/memory comparison that is probably inaccurate af, but the fact that there is no LSP is actually wild.
This video is gold!
Hello, new subscriber here. I will join you on every live stream you do from now.
Hey please start uploading more videos on youtube. I wanna learn from you :)
bruh. qiqi impact? it's a win win since i'm a GI player and doing leetcode and you are also a GI player. subscribed.
thanks qiqi
thanks dawg
Leetcode interviews is a thing of the past
Hash tables, Graphs and Dynamic Programming. So basically easiest data structure to the most difficult category. I think I get what you're trying to say.
Don't blindly follow anyone. Try learning from a good course from youtube and then approach the Leetcode problems. It is also not necessary that a problem tagged as easy will be easy. The tagging doesn't determine the level of question.
Not always but mostly leetcode easies are easy unlike Codeforces
Qiqi is the best programmer
I clicked the video for leetcode and was confused for a minute after seeing your channel name since I also play Genshin
I play a bit, usually do viewer abyss clears on stream.
I think bar goes higher and higher each day. 40 mins for 2 mediums is bare minimum for most companies from what I've heard
Please answer this... I am 32 I have a gap in my career of 5 years due as I was trying to get a job in the government... I have been quite good at coding... Is there any chance for me at FAMNG tier companies... Do companies discriminate against such gaps?
Not sure. It's pretty competitive, but if you can get to the OA stage you have a chance.
never seen a fellow leetcoder who has is so insanely peaceful
You recommend engaging with dynamic programming problems? I have heard the opposite advice from some very experienced folks - that DP is not very common and should not be the object of focus. Any chance you can elaborate on why you think that topic is/might be useful. Great video! Subbed
It's extremely common, especially for online assessments.
@@qiqi_impact_official agreed, we all need to "engage" in more dp as the OP stated
which experienced folks have u been in contact with recently? you should cut them out as soon as you can because they are spurting out some bs. Almost every interview and online assesment test you'll give will have a DP problem in it.
I’ve heard the same advice.. I’m skeptical of this video because of the contrary information he’s presented. Some companies have even banned dynamic programming questions from being asked.. including the one I work at which starts at a higher TC than FAANG for context.
@@shadowspade7589 You should be skeptical of everything, but your whole argument is "my own anecdotal experience is different." There are a wide variety of topic/difficulty ranges across companies, and to ignore one of the most fundamental algo concepts just based on that argument isn't smart.
1. dont read books start by doing leetcode problems
2. blind 75 , neetcode roadmap or use tags
3. struggle with a problem for some time and then see solution
thanks
Do that over a long enough period of time and you will be successful.
such a good video
I hear conflicting opinions on what to study. Neetcode says DBS, BFS, binary search, and two pointers are the foundation for most problems on leetcode and interviews. Primeagen says dynamic programming questions are not common in interviews.
Really good video
The segmentation fault fear is true 🤣
3:23 hey that’s my video on critical connections in a network lol
If I'm struggling with LeetCode questions, should I continue with CodeWars until I become more comfortable with the syntax? And if that's the case, when would be a good time to transition to LeetCode?
That seems reasonable. Move to LeetCode when you think you're ready.
Here while you still had 1.08k subs!!