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.
Here are some quality answers from people in my stream: magicks_btw: its literally the key to a six figure income at many companies for one NugRunOnly: data structures and algorithms are fun Flipperpollo: I think leetcode teaches pretty good fundamentals. like dont triple nest for loops Konemui: improved understanding of how code works and problem solving more consistently? Shayna__: For the same reason you left that comment, it felt satisfying. The difference is that you gained it by dunking on someone else, whereas I gained it by improving my programming and general thinking ability. JmeJam: I think he doesn't like technical tests and is bad at them, so just vents at people who do Leetcode on YT to make him feel better about himself
@@qiqi_impact_official wow you guys talked about my question on a stream? All I'm saying is it's not very productive to evaluate candidates based on this. I understand you can get good at this, it just always felt retarded to learn this as this has nothing to do with being a good programmer (for the most part). If it was more related to being good at coding, I would gladly learn this. But it's not
@@IlcohereThat's fair - but the people who have the jobs make the rules, and so it is. Personally, it's two-fold: 1. Top competitive programmers are really good at not introducing bugs, due to the strict nature of the contests. 2. They tend not to write bad algos in hot paths that could waste tons of money/man-hours to fix.
@@horizonfiosthe algorithm is here to print money for RUclips 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 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
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
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?
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.
I refuse to do leetcode. The fact you need to do this crap in order to get a job even after already spending 4+ years in college/ university and getting a degree is what's wrong with the industry. I'm not doing it. If me not doing leetcode means I can't get a job then so be it. I'll just do something else.
You don't have to quit the industry, there are lots of places that don't ask LC and in the long run, personal projects/interests mean a lot more toward career growth.
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.
Don't agree with the premium part. Honestly those problems further solidify the concepts which the non premium ones give. Plus their editorials are one of the best
Man, I loved your explainations. I always hesitated in seeing answers to easy questions even after a day or two. Your guidance helped a lot in reshaping my perspective. I have one request tho: drop your *gn*eshin UID XD.
qiqi please please please start mirroring your streams on youtube, my college's firewall doesnt allow twitch to go through and im unable to tune in for you streams
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.
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.
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
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?
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.
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!
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.
@@qiqi_impact_official Leet code is only good for increasing your chances of getting hired at morally corrupt big tech companies that have no idea how to actually evaluate their candidates. Merit alone gets you no where unless you have work experience in the tech industry. Throwing niche technical programming problems that have no real world application at job seekers only worsens the problem.
I once heard an engineering manager at Google say that achieving the optimal solution in an interview (for a junior) is one of several factors that are considered. How true is this?
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)
Those "in depth" solutions from the LC's Solution section are mostly childish exercises. Most of them barely express one algorithm without any kind of comparative analysis. And it's implemented in a sloppy, arcane, inefficient way. Needless to say, most authors just copy ideas from each other, that's why they can't explain what they've just published.
Hey how do you start to solve hard problems? I can do like 60-70% of the mediums, but hard problems still floor me. I'm not even trying to force hard problems either, its just the daily problems have hards and it wrecks my streaks :( Edit: btw whats with the insane disconnect of the channel name and content (and presenter) lol
Sometimes you cannot solve them with what you know, but you can make some progress. As long as you gave it a good shot before reading the solution, you have learned something.
I don't do LeetCode every day. Best bet would be Saturdays after the LC contest(s), aside from that, there's more info in the Discord link in the description.
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 would you ever want to get good at that shit
Here are some quality answers from people in my stream:
magicks_btw: its literally the key to a six figure income at many companies for one
NugRunOnly: data structures and algorithms are fun
Flipperpollo: I think leetcode teaches pretty good fundamentals. like dont triple nest for loops
Konemui: improved understanding of how code works and problem solving more consistently?
Shayna__: For the same reason you left that comment, it felt satisfying. The difference is that you gained it by dunking on someone else, whereas I gained it by improving my programming and general thinking ability.
JmeJam: I think he doesn't like technical tests and is bad at them, so just vents at people who do Leetcode on YT to make him feel better about himself
@@qiqi_impact_official wow you guys talked about my question on a stream?
All I'm saying is it's not very productive to evaluate candidates based on this. I understand you can get good at this, it just always felt retarded to learn this as this has nothing to do with being a good programmer (for the most part).
If it was more related to being good at coding, I would gladly learn this. But it's not
@@IlcohereThat's fair - but the people who have the jobs make the rules, and so it is.
Personally, it's two-fold:
1. Top competitive programmers are really good at not introducing bugs, due to the strict nature of the contests.
2. They tend not to write bad algos in hot paths that could waste tons of money/man-hours to fix.
@@qiqi_impact_official I appreciate the answer
n0ic p0g g00d vid!
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 RUclips 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 😂
How do I get good at code? Simple answer: "don't read books" and shows a video of someone stealing an Amazon package
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
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
Well now did you start genshin?
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.
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.
I refuse to do leetcode. The fact you need to do this crap in order to get a job even after already spending 4+ years in college/ university and getting a degree is what's wrong with the industry. I'm not doing it. If me not doing leetcode means I can't get a job then so be it. I'll just do something else.
You don't have to quit the industry, there are lots of places that don't ask LC and in the long run, personal projects/interests mean a lot more toward career growth.
> I recommend spending at least 30 to 60 minutes struggling with a problem
Me who struggled with some problems for 1-2 months: 👁️👄👁️
Persistence is a valuable trait.
I loved how its was just question / answer right to the point, i was focused through the whole thing! good job
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.
Don't agree with the premium part. Honestly those problems further solidify the concepts which the non premium ones give. Plus their editorials are one of the best
Man, I loved your explainations. I always hesitated in seeing answers to easy questions even after a day or two. Your guidance helped a lot in reshaping my perspective. I have one request tho:
drop your *gn*eshin UID XD.
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.
qiqi please please please start mirroring your streams on youtube, my college's firewall doesnt allow twitch to go through and im unable to tune in for you streams
3:24 high quality videos and TechLead shows up 😭
lost my 50/50 for kazuha to qiqi again
If “to the point” had a definition, its you my friend
To start leetcode, how much knowledge of data structure is enough or can I learn on the go.
Literally the same commentary errichto said 😅 love your stuff ❤
Amazing video buddy, simple and to the point. Thanks!
Underrated channel btw - shall blow up!
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.
never thought I would see qiqi and coding together. they are both cursed though so that is one similarity.
thanks dawg
simple, concise and actually helpful. thank you very much. You understand your audience completely.
This video is very high quality for how many subs you have… Thanks for the info, i’ll be watching future videos
No BS straight to the point!
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.
Wow there was absolutely no fluff in this. Thank you.
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
straight to the point , Excellent explanation.
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.
I clicked on the channel to find Genshin content, and ended up watching through the whole video. Worth
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.
extremely well spoken, solid content, yep this channel gonna blow up lol
Chimp at front-end 💀
Seg fault in an interview problem will definitely seg fault my brain for few days 😵💫
Hey please start uploading more videos on youtube. I wanna learn from you :)
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.
Starting early is the key, consistency also plays a huge role.
Qiqi with his customer service voice😭😭😭
You're good at making videos, continue the good work
Algorithm gods bless thee. Didn't know you had a YT channel!
Coming after neetcode live
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.
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.
If you guys all stopped studying this garbage we wouldn't have to solve these problems in the first place just to land an entry level job.
Congratulations, "competitive Overwatch player", you found something more useless to spend your time on than LeetCode.
@@qiqi_impact_official Leet code is only good for increasing your chances of getting hired at morally corrupt big tech companies that have no idea how to actually evaluate their candidates. Merit alone gets you no where unless you have work experience in the tech industry. Throwing niche technical programming problems that have no real world application at job seekers only worsens the problem.
Good video , keep posting bro
Great vid, thank you!
having segfault on an interview is like being fired before starting
come for qiqi, stay for ur great video. many thanks
Are the leetcode explore cards worth going through for a beginner?
I think they're pretty good.
I once heard an engineering manager at Google say that achieving the optimal solution in an interview (for a junior) is one of several factors that are considered. How true is this?
When any company asks a LeetCode question, they are looking for a single "correct" algorithmically optimal solution, so it is always a factor.
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)
one the few people who knows and understands the KISS principle !great video!
you are likeable
One of the best LeetCoders to learn from out there :)
your channel name lol
Hello, new subscriber here. I will join you on every live stream you do from now.
Those "in depth" solutions from the LC's Solution section are mostly childish exercises. Most of them barely express one algorithm without any kind of comparative analysis. And it's implemented in a sloppy, arcane, inefficient way. Needless to say, most authors just copy ideas from each other, that's why they can't explain what they've just published.
1670 subs in a month with one video is very encouraging, keep going man!
love the editing
Trying to get my hands on Leetcode. Excelent video!
QIQI NUMBAH ONE
I too am an ex-googler (offer rescinded, SWE II), and do Leetcode casually. Also who hurt you with the name Qiqi Impact.
Offer rescinded means you're not an ex-googler lmao
Yeah sadly not, I said it sarcastically. “I too am…”
The efficiency of this video is unmatched, appreciate u
What if the main language that I use is Javascript (I also know Python but not as well), should I solve them using javascript or python?
Answered in 4:27 - 4:31
nice channel name xD and great video ty !!
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! Keep going
best video on this topic
Hey how do you start to solve hard problems? I can do like 60-70% of the mediums, but hard problems still floor me. I'm not even trying to force hard problems either, its just the daily problems have hards and it wrecks my streaks :(
Edit: btw whats with the insane disconnect of the channel name and content (and presenter) lol
Sometimes you cannot solve them with what you know, but you can make some progress. As long as you gave it a good shot before reading the solution, you have learned something.
@@qiqi_impact_official Hm alright. So I just haven't practiced enough haha. Thanks for some direction!
Great overview. Subscribed immediately.
3:23 hey that’s my video on critical connections in a network lol
Qiqi is the best programmer
you must have pulled Qiqi a billion times to devote yourself to becoming a god of leetcode
The segmentation fault fear is true 🤣
Very Helpful Explanation, No BS
Great content. Subscribed!
24 hour leetcode challenge o_o
You earned a sub!!! Brilliant video. Thanks for making it
When do you go on stream?
I don't do LeetCode every day. Best bet would be Saturdays after the LC contest(s), aside from that, there's more info in the Discord link in the description.
thanks qiqi
Sank you very very much my man!
Just came across your channel and glad I did. Thank you for the informative video.
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
I thought youtube was bugging when i looked at your channel name and the video title
Or you can use a bot that auto solves every question on your account, I made one LMAO good resume project
- use secondary account
- make your code fail on a test case
- hardcode the test case
- repeat
- submit solution to your main account
For those of you looking for a summary -> TLDW: Just practice more LeetCode
Thank you!
The best straightforward answer.
so you’re saying i can learn dsa by just.. doing leetcode?? crazy
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
subbed