Hey Daniel, thank you for you advice, I tried ask people online, more specifically on Stack overflow. It takes me a little bit time to figure out the right format of how to post a question a stack overflow. But once i did it just blow my mind that how fast other programer replied me and literally faster than asking my classmate or tutors! Thank you for letting me to pick your brain again! Really happy to have such strong tool in my toolbox now and you deserve 1 million subs!
I have been following your advice for practising leetcode for the last 4 months, and it's working wonderfully for me. Thank you for this short-hand guide, will use it for future problem solving.
Your study guide is very timely for me, I was trying to look for something that will help me after failing my interviews. You really inspire me pk! Thanks a lot!
Wow, this channel also include educational content, sweet! The explanations not only nail it, but it is also concise and makes tough concept easy to pick up! Though I am not on the lookout for job, been practicing DSA to improve my skillset and at the same time seek some excitement in life!
FYI “leftmost binary search” is actually called a left bisection. Python actually offers a library that does both left and right bisection - though you might not be allowed to use it during an interview
I have interviewed in almost all FAANG companies and many others and am ex FAANG. I assure you that you can use bisect no matter what given you can explain what bisect does and how it does it properly to the interviewing engineer. Same with deque, doesn't matter if the engineer doesn't know what a deque is as long as you can give a 2 to 5 minute overview on deck and why using a deque would be suitable for that specific problem. Interviews are equally about communicating your solutions properly to even folks with non-technical background as you might be required to do this at your real world SWE job.
OMG, SUBSCRIBED. the best video ever, and also your website is so useful, with your resources i have hope that i will be accepted to one of the internships i am applying. THANK YOU A LOT!
LeetCode may be hard, but I have never had to solve any problem that was anything like them, in 15 years of working as a software engineer. It is kind of silly how it's simply about memorizing certain patterns, just so you can land a job at a big tech company, and then it loses it's value. It may still be fun for some people to solve these problems and that's why I am here. Thanks for the content!
You can adapt leftmost to after leftmost by changing m to (l+r+1)//2 and updating l to l=m and updating r to r=m-1. This is useful for finding the first element that fails some condition
you are great!!!! i think this will help me a lot, is way more structured than just reading Cracking the coding interview or going without a plan on leetCode
great video and i am happy that he didn't give false hope to beginners by saying that this is enough for interviews instead he said that this can be kept handy and can be used by a beginner to boost his/her journey of leetcoding !!!!!
I am not looking for a job now but I still do leetcode almost everyday. Today is Christmas day and I did 1 hard and 1 medium. I like to do leetcode before I play video games. Will do more if I have time later tonight after I played video games.
You are just awesome !!! Thankkk uuu soooo muchhh for sharing this cheatsheet . i'm a second year computer science student , few weeks ago i started to leetcode because of your advices and now am getting better at coding :)
In a world of swe UA-camrs that are greedy get rich quick scheme pitchers trying to sell you their leetClones (How many algoSomethings are there?) You are a breathe of fresh air. Stay awesome.
it's good to know what data structure to use when, but that's just the beginning and only gets you passing like 1/4 of the test cases. A lot of these hard questions require familiarity with implementation and clever tricks that most people wouldn't think of in an interview. You have to be familiar with the syntax of your language and all its functions and datatypes, etc.
Mmmm. Log time. I am taking DS&A at school right now so this video was perfectly timed. But seriously, you are the best youtube tutor thus far. Your coding tips in this video alone are phenomenal. I hope to see more complex subjects broken down into simple terms (plus good practice tips!) as most videos on youtube just cover the basic stuff and not even explain them like you have. Your video was only eight minutes but I came away with a much better understanding of DS&A after watching it! Plus I mainly use Python, Java, and Javascript so thats even more convenient that your code is in Python and Java.
PK, I had a question. I'm using your technique of using a deque for a stack (append, pop), queue (append, popleft) and linked list (append, pop, appendleft, popleft). I'm a bit confused, though. Stack and queue have certain operations associated with them (stack has push, pop and peek and queue has enqueue and dequeue ) -- but what do linked lists have? I haven't been able to find anything linked lists are required to have. So, I have 2 questions please: 1.) Do linked lists have certain expected operations and 2.) Why is a deque the ideal data structure to implement those operations with. If you don't have the time to answer, a point in the right direction would be appreciated. Thanks!
1. I’d say addfirst, removefirst, addlast, and removelast. 2. Deque already has those operations implemented within. It’s not exactly an ideal data structure but a working alternative. Check piratekingdom.com/leetcode
deques cannot be used to replace a linked list. you can't store references with deque and link it with other data structures. it is not possible to remove from the middle of a deque in constant time.
Such an understandable response 😂 You seriously just have to grind UNTIL you understand. That’s why it pays so well. Its not impossible, just difficult to grasp - at first. But once you start getting it, you’ll start getting it!
Everyone is dumb at something when they are just starting. The key is to keep asking questions until you finally get that ah ha moment. I remember not knowing how a linked list worked or how to use .next, but I kept asking questions and now it makes as much sense as 2 + 2 = 4. Then just keep building your understanding from there.
Hey! Many people/youtubers/influencers have been suggesting to take up the CS50's introduction to Computer Science by HARVARD UNIVERSITY before entering into college. I would like to take your suggestion if I should go with this course or do something else like learning a language (python) or something like data structures and algorithms, I know CS50 would include it but just wanted to confirm if something else is more important at the moment (high school graduate). And if I should take up the 2nd option please let me know the importance of CS50 if I should take it up in the future...
thankyou i am confused between c++ and java decided c++ to start with but after this video I will continue dsa in java and python only amazing video bring more such tricks video for dsa
Excellent videos..! I have just graduated high school and before going to college I'm really confused on what kind of online courses should I take up... One side of me has an interest in hacking so I took up a course on ethical hacking with python but on the other side I'm not sure if I should take up a career in hacking or software development or so on and I'm really really confused. I would really appreciate if you could let me know what kind of courses I'm supposed to do at this stage.
I use JavaScript. Tried to leetcode. It’s so hard. I don’t even understand the task itself. It’s double hard to understand because English isn’t my tongue language and not event second language, also I’m without tech background. And words like time complexity etc I’m so dizzy. Should learn a lot of things 🥺
Best way to ease into LeetCode is by first getting some good practice on Codewars and Exercism. At least that's what worked for me. I was in same situation as you (mostly JS + not a native speaker of English).
Same situation as you, so I learnt C and Python and I can leetcode with no problem. Honestly, C was what I was missing. JavaScript, as much as I love it, doesn't force you to understand what's going on under the hood, the true meaning of programming and to think like a programmer. My best advice would be learn C or Python, with the free Harvard course "CS50" (intro to computer science), because it blends theory with practice, you can do it at your own pace, and most importantly it is structured. There are assessments and a final project of your choice.
Can you give some tips on writing Java code short and clean and less bug? I always find my code buggy when doing hard problems like having a lot complex logic
Great video! Quick question though, doesn't a linked list represent all three data structures easily already? Personally I just use append()/insert(0) and pop() for stacks, queues and linkedlists, so I don't really understand why using a deque is better.
Time-complexity wise, no difference. Performance-wise, ArrayDeque is better; I use ArrayDeque personally. Also, for me, the interfaces of a deque, add/remove first/last are easier to remember than append(0), insert, pop, etc. See stackoverflow.com/questions/6163166/why-is-arraydeque-better-than-linkedlist
hey Daniel, thank you for sharing this cheatsheet! Recently I am leetcoding actively, and you really motivate me a lot! This is the first year of my CS degree, hope I get my first intern by the end of my first year of my degree! I saw you actively doing leetcode all year around? why is that? was it because u want to be at the position where you are ready to switch job anytime or that was a hobby to you or both?
📝 PK'S LEETCODE CHEAT SHEET 👉 piratekingdom.com/leetcode
▶ How to Use LeetCode Effectively 👉 ua-cam.com/video/a-thH9a9_XE/v-deo.html
Wow you even have your own site! What tech stack you code it with?
@@thedevguild7525 squarespace website builder! ;)
Hey bro well I wanted to know if you intentionally put this channel name as Pirate King because basically Pirates have a CAPTAIN.
@Anonymous I'm a One Piece fan
@@PIRATEKINGDOM I got just now to know about this anime. So what's your TREASURE for which you started journey?
Only if interested.
C++ has deque too. Also leftmost binary search is lower_bound() in c++.
Hey Daniel, thank you for you advice, I tried ask people online, more specifically on Stack overflow. It takes me a little bit time to figure out the right format of how to post a question a stack overflow. But once i did it just blow my mind that how fast other programer replied me and literally faster than asking my classmate or tutors! Thank you for letting me to pick your brain again! Really happy to have such strong tool in my toolbox now and you deserve 1 million subs!
I am about to graduate and needed this so bad. Thank you so much!
I have been following your advice for practising leetcode for the last 4 months, and it's working wonderfully for me. Thank you for this short-hand guide, will use it for future problem solving.
Dude, this is the absolute gold of gold. You're the man, thank you so much!!
Your study guide is very timely for me, I was trying to look for something that will help me after failing my interviews. You really inspire me pk! Thanks a lot!
I just wrote tets randomly on his video and the guy just replied to it, tf
Wow, this channel also include educational content, sweet! The explanations not only nail it, but it is also concise and makes tough concept easy to pick up! Though I am not on the lookout for job, been practicing DSA to improve my skillset and at the same time seek some excitement in life!
I just wrote tets randomly on his video and the guy just replied to it, tf
FYI “leftmost binary search” is actually called a left bisection. Python actually offers a library that does both left and right bisection - though you might not be allowed to use it during an interview
I just wrote tets randomly on his video and the guy just replied to it, tf
I have interviewed in almost all FAANG companies and many others and am ex FAANG. I assure you that you can use bisect no matter what given you can explain what bisect does and how it does it properly to the interviewing engineer. Same with deque, doesn't matter if the engineer doesn't know what a deque is as long as you can give a 2 to 5 minute overview on deck and why using a deque would be suitable for that specific problem. Interviews are equally about communicating your solutions properly to even folks with non-technical background as you might be required to do this at your real world SWE job.
That is a rly nice edit, thanks for your effort in this community.
Love the channel name. Glad to connect with fellow pirates!!
OMG, SUBSCRIBED. the best video ever, and also your website is so useful, with your resources i have hope that i will be accepted to one of the internships i am applying. THANK YOU A LOT!
LeetCode may be hard, but I have never had to solve any problem that was anything like them, in 15 years of working as a software engineer. It is kind of silly how it's simply about memorizing certain patterns, just so you can land a job at a big tech company, and then it loses it's value. It may still be fun for some people to solve these problems and that's why I am here. Thanks for the content!
The true technical interview savior
You can adapt leftmost to after leftmost by changing m to (l+r+1)//2 and updating l to l=m and updating r to r=m-1. This is useful for finding the first element that fails some condition
I just wrote tets randomly on his video and the guy just replied to it, tf
can you pls explain with example?
Amazing, thank you so much! I really felt like summaries of the DS&A concepts were missing in the online education space. Super helpful.
you are great!!!! i think this will help me a lot, is way more structured than just reading Cracking the coding interview or going without a plan on leetCode
great video and i am happy that he didn't give false hope to beginners by saying that this is enough for interviews instead he said that this can be kept handy and can be used by a beginner to boost his/her journey of leetcoding !!!!!
this is not a gold mine, this is a diamond mine!! Thanks for the cheat sheet!
amazing video, thanks. I subbed so quickly.
Thank you for the wonderful Video PK!!!
Great advice. Thanks for your generosity. Your humour an added bonus.
get this man a medal.
amazing video. I will be taking data structure and algorithm class in the next 6 months. Content like this will be of great help. Thank you
"No email" "No bullshit like that" won me, I mean I already love your content but it's good to hear that.
This video is too good to be like a cheat for preparing leetcode. So many information compress in such one video. Love it.
I just wrote tets randomly on his video and the guy just replied to it, tf
Thank you! This is exactly what I need right now
Best ever Quick Tips for Problem Solving with Python anyone needs. No here and there, to the point +1 :)
I am not looking for a job now but I still do leetcode almost everyday. Today is Christmas day and I did 1 hard and 1 medium. I like to do leetcode before I play video games. Will do more if I have time later tonight after I played video games.
ありがとうございます!大変助かります!
Doumo!
You are just awesome !!! Thankkk uuu soooo muchhh for sharing this cheatsheet . i'm a second year computer science student , few weeks ago i started to leetcode because of your advices and now am getting better at coding :)
In a world of swe UA-camrs that are greedy get rich quick scheme pitchers trying to sell you their leetClones (How many algoSomethings are there?) You are a breathe of fresh air. Stay awesome.
영상에 삼색스웻셔츠 보고 혹시 한국인,,? 했는데 맞으시네용! 좋은 정보공유 너무 감사드립니다!
You should make a course for interview's questions you are amazing at explaining complicated things.
Thanks for the cheat sheet. It's very helpful!
it's good to know what data structure to use when, but that's just the beginning and only gets you passing like 1/4 of the test cases. A lot of these hard questions require familiarity with implementation and clever tricks that most people wouldn't think of in an interview. You have to be familiar with the syntax of your language and all its functions and datatypes, etc.
its my first sem learning dsa with java hope all goes well till end and i get placed at MAANG
Man this was beautiful!! ❤
I clicked on this video thinking it's just another click bait, but it's actually good very helpful.
Thank you! for the lc help! Also like your sweater :-)
Thank you so much sir! This is extremely useful.
Mmmm. Log time. I am taking DS&A at school right now so this video was perfectly timed.
But seriously, you are the best youtube tutor thus far. Your coding tips in this video alone are phenomenal.
I hope to see more complex subjects broken down into simple terms (plus good practice tips!) as most videos on youtube just cover the basic stuff and not even explain them like you have.
Your video was only eight minutes but I came away with a much better understanding of DS&A after watching it! Plus I mainly use Python, Java, and Javascript so thats even more convenient that your code is in Python and Java.
I just wrote tets randomly on his video and the guy just replied to it, tf
It's really good PK! ❤❤
this is extremely useful, thanks pk ❤
Maaan that's really amazing.Thanks a lot for all!👏🏻👏🏻👏🏻🆒️😃
Thanks, hopefully will have cpp template soon
Thank you so much!! Appreciate your help!
okay nice start with providing website, im subscribing
PK, I had a question. I'm using your technique of using a deque for a stack (append, pop), queue (append, popleft) and linked list (append, pop, appendleft, popleft). I'm a bit confused, though. Stack and queue have certain operations associated with them (stack has push, pop and peek and queue has enqueue and dequeue ) -- but what do linked lists have? I haven't been able to find anything linked lists are required to have. So, I have 2 questions please: 1.) Do linked lists have certain expected operations and 2.) Why is a deque the ideal data structure to implement those operations with. If you don't have the time to answer, a point in the right direction would be appreciated. Thanks!
1. I’d say addfirst, removefirst, addlast, and removelast. 2. Deque already has those operations implemented within. It’s not exactly an ideal data structure but a working alternative. Check piratekingdom.com/leetcode
@@PIRATEKINGDOM Ah, okay. I see. Thanks so much for taking the time to break that down. Much respect! :)
deques cannot be used to replace a linked list. you can't store references with deque and link it with other data structures. it is not possible to remove from the middle of a deque in constant time.
True, but I talked about it in the limited usage of add/remove first/last which is suffient in most lc problems.
Thank you! This is really helpful.
Thanks senpai, im very grateful the person like you is exist lol
Good, I also start making this type of video 😊😊😊😊
You're god among men for creating that website
Thank you! You have earned your place in heaven!
This is awesome! Thank you for this! :)
Thanks pk 😊 most of the tips u told,I faced them recently and they are very interesting
The GOAT itself.
im too dumb for this
Such an understandable response 😂
You seriously just have to grind UNTIL you understand. That’s why it pays so well. Its not impossible, just difficult to grasp - at first. But once you start getting it, you’ll start getting it!
Everyone is dumb at something when they are just starting. The key is to keep asking questions until you finally get that ah ha moment. I remember not knowing how a linked list worked or how to use .next, but I kept asking questions and now it makes as much sense as 2 + 2 = 4. Then just keep building your understanding from there.
I really appreciate the effort you put into this. Thanks a lot!
I agree bro, you reflected me in few points.
You're a good teacher! You should make more videos like this one!
Request ya, create video approach of TDD (when use and when TDD is bad).
c++ has deque as well. I recommend c++
Thank you for teaching! Off topic: what brand is that long sleeve? It’s nice!
@6:45 there's some error i guess with the preorder function, it was calling inorder inplace of preorder while calling recursively :)
Hey!
Many people/youtubers/influencers have been suggesting to take up the CS50's introduction to Computer Science by HARVARD UNIVERSITY before entering into college. I would like to take your suggestion if I should go with this course or do something else like learning a language (python) or something like data structures and algorithms, I know CS50 would include it but just wanted to confirm if something else is more important at the moment (high school graduate). And if I should take up the 2nd option please let me know the importance of CS50 if I should take it up in the future...
Cs50 is a good start
@@PIRATEKINGDOM Thank you so much! But would you suggest a different way to start?
@@abhisheknandann cool..! Thanks a lot!
Thank you so much😊
Your t-shirt look cool pk
nice! please do more of these
Thanks man , QuickSelect is necessary for interviews?
Appreciate this Video dude 🔥
I love your hair.
Super helpful video 🔥🔥🔥
thankyou i am confused between c++ and java decided c++ to start with but after this video I will continue dsa in java and python only
amazing video
bring more such tricks video for dsa
Please Teach DSA using Python 3, with your editing it will be fun to learn and grasp the concept.
And this video is really helpful.
Super helpful thanks!
Thank you for sharing!
Thanks for this man
Excellent videos..!
I have just graduated high school and before going to college I'm really confused on what kind of online courses should I take up... One side of me has an interest in hacking so I took up a course on ethical hacking with python but on the other side I'm not sure if I should take up a career in hacking or software development or so on and I'm really really confused. I would really appreciate if you could let me know what kind of courses I'm supposed to do at this stage.
I suggest you learn how to build websites and taking courses on data structures and algorithms
@@PIRATEKINGDOM okay thanks a lot...! But then if I'm interested in cyber security in the future will this help me?
@@darshanjain9658 it’ll still help... I believe. Sorry, I’m not a cyber security expert
@@PIRATEKINGDOM okayyy thanks a lot for the reply :))
Nice video! Subscribed!
Amazing dude!
Great content Sir
Thanks!
TYVMMM it's so neet thanks for the work :3
Amazing tips! 🚀
I use JavaScript. Tried to leetcode. It’s so hard. I don’t even understand the task itself. It’s double hard to understand because English isn’t my tongue language and not event second language, also I’m without tech background. And words like time complexity etc I’m so dizzy. Should learn a lot of things 🥺
Best way to ease into LeetCode is by first getting some good practice on Codewars and Exercism.
At least that's what worked for me.
I was in same situation as you (mostly JS + not a native speaker of English).
JS isn’t the most leetcode-friendly language :(
@@CostaKazistov oh thank you for sharing
@@PIRATEKINGDOM oh I see. Maybe will try to learn python in the future. Thank you for detailed information and what you shared on your website.
Same situation as you, so I learnt C and Python and I can leetcode with no problem. Honestly, C was what I was missing. JavaScript, as much as I love it, doesn't force you to understand what's going on under the hood, the true meaning of programming and to think like a programmer. My best advice would be learn C or Python, with the free Harvard course "CS50" (intro to computer science), because it blends theory with practice, you can do it at your own pace, and most importantly it is structured. There are assessments and a final project of your choice.
thought it was lee kwang-soo for a sec from the thumbnail lmao
Oreva Monkey D Luffy, Kaijokuvoni naru othokoda, The website is very helpful
Amazing video 😍😍
Great works
Thanks for the tips, very interesting. Btw what about C++
Can you give some tips on writing Java code short and clean and less bug? I always find my code buggy when doing hard problems like having a lot complex logic
Great video! Quick question though, doesn't a linked list represent all three data structures easily already? Personally I just use append()/insert(0) and pop() for stacks, queues and linkedlists, so I don't really understand why using a deque is better.
Time-complexity wise, no difference. Performance-wise, ArrayDeque is better; I use ArrayDeque personally. Also, for me, the interfaces of a deque, add/remove first/last are easier to remember than append(0), insert, pop, etc. See stackoverflow.com/questions/6163166/why-is-arraydeque-better-than-linkedlist
hey Daniel, thank you for sharing this cheatsheet!
Recently I am leetcoding actively, and you really motivate me a lot! This is the first year of my CS degree, hope I get my first intern by the end of my first year of my degree!
I saw you actively doing leetcode all year around? why is that? was it because u want to be at the position where you are ready to switch job anytime or that was a hobby to you or both?
Just keeping my skills sharp ;)
@@PIRATEKINGDOM would you like to make a video about how to taking notes for leetcode or just generally for engineering?
Is it "DEQUE" or "De-QUEUE" ?
Is there a mistake in the Cheat Sheet for preorder and postorder of Binary Tree Traversals in Python?
??
@@PIRATEKINGDOM For preorder it's val -> left -> right, but you wrote val -> right -> left in the Python Part
The Java Part is correct
@@starbuststream3219 you’re right lol. Thanks for letting me know.
fixed!
@@PIRATEKINGDOM Really loved your video! Great content to review before interviews.
Wow, thank you!
Is there a follow up for this list?
nope
Just Excellent