 So hi guys, my name is Michael and welcome to my YouTube channel today. We're doing a different video It's at my first collaboration with these guys. So how about you guys explain your YouTube channel? What do you guys do? Yep, so I'll go so hi guys I'm Pages and we started this channel called breaking code and Basically, we do the same thing what Michael does so the entire point of this channel is to be explained people how to go about competitive coding problems So basically direct you in how to think about these problems and how to start solving them easily so just to give my Background introduction. I'm Pages. I'm working with Amazon currently That's it and we need do you want to introduce yourself? Yeah, so hi, I'm Vinit and Yeah, I work I don't know if you know it's a retail store. It's a UK based retail store and And that's it. I had my late bastards and masters from computer science. No, I just will Michael, we don't know you so can you introduce yourself? Oh, yeah, so basically my name is Michael in and I I'm still in an undergrad studying computer science at University of Maryland and I started this YouTube channel just to you know to Because I did pretty poorly on my first Interview session with Google so I started this YouTube channel just how help people going through their interview process and also doing competitive programming So yeah, that's that's the reason why I started this YouTube channel. Yeah, it's cool From my experience everyone does poor and the post interview with Google Yeah Nothing to worry about Yeah, so yeah like I'll just From what I've seen from Michael's videos the content delivery of Michael is like really great So like I personally find his videos more informative. So I think like who goes to you, Michael Yeah, I'm still a very new new new person. I'm not a good at algorithms and data structures at all by any means But I think this is a great thing because this channel itself will motivate you to Make more videos and learn about them. So I like the same thing happened even we started this channel when we were in college third year, I guess and Yeah, basically the same thing happened. So the comments keep coming and Basically, you're forced into doing more and this is how we started learning more and more Cool, cool. Yeah. Yeah, it's same thing. It's great Video content is pretty good. I feel like when you teach people it's You know the algorithms get ingrained in your brain more, but yeah So I wanted us to just start off on for like just a few questions that I wrote down about How how beginners should approach competitive programming problems or how they should improve? So most of my content is mostly for like beginners who just just started competitive programming So from you guys, what do you think is the best way for beginners who just started? Yeah, perfect. So the most important thing as for me is Getting the basics, right? So it's not about just solving a dynamic programming problem in your first week itself The most important thing is you need to understand why we are using things like dynamic programming Or even the data sector for the matter of fact like why do we need to use tags instead of arrays? So the basic understanding of why we are doing this problem is more important than how we are doing this problem That way. So yeah, that's like the intro of how You should approach a problem from myself Cool. Cool. What about the the need What do you think? So that is basically but then okay. So as a beginner, you're obviously gonna fail and you're gonna get those random those Time exceeded like Like time exceeded. Yeah, you're gonna exceed the limits, but then uh, so For me like as a beginner you can so competitions like the ones that you or you or so you take part in I guess it's from court forces like yeah, so One one. Yeah, you should definitely take part in such competitions because they In pipe the time factor in it, which is mostly how like coding interviews are Like so you're supposed to do it on the spot give it a no Like it's it's a very flexible timing, but then you're still supposed to do it in that time So you should definitely take part in competitions more, but then Uh, I would say don't get this hard if you don't do good because as a beginner like, uh, getting getting the first like getting one out of let's say of five problems that would be Would also be a good thing if you get it in that like wine one and a half out of time that you have but The important aspect is you grow so let's say you get you you approach a problem and then you get Time exceeded issue. So What would be important is You take that back and then you try to do it A better way and that is how you learn you learn things and then you build up your Knowledge and then you use them in the future. So Yeah As a beginner, yeah, solve as many problems as you can take part in competitions and and have that growth mindset if you Yes, I I agree a lot about definitely about Getting into the growth mindset But uh, do you think beginners should care about like rankings and stuff like that and comparing themselves other people because I feel like that demotivates people, you know What do you think? Yeah, absolutely like Even the same thing happened with us like we used to get like one or two problems out of five in competitions and which is not good because Usually when we see rankings, we see top 10 people who did like five problems and maybe just an hour But what we miss is that these guys have been practicing since way longer than what we are So the important thing is not get discouraged by how much you saw but you should compare your performance with your last contest And which is also fine. Like few contests are difficult. So you'll Just solve one out of five few are easy. You might get three out of five So that is the most important thing not get disheartened by what's going on But the important thing is to learn So that's like the major mindset you need to have in the uh, beginner phases After that, if you think you're doing good, like few people catch on really quickly. I have this friend who started Getting his rankings really well in just four three months of his programming thing. So like, yeah, if you're Doing good, then it's well and good But it's absolutely very fine that you don't get those ranks and you'll still be a really good programmer in real life I agree also. Yeah. Yeah Uh, what about you, Vinit? Yeah, I feel the same way as an uh, so rankings are a good way to keep like a healthy competition, but That's what they generally are. So if you like, so a good thing about code forces and these websites is they have like two divisions, which so Like so, uh, you know that you're not competing like if you are in depth too Then you know that you're not competing with like the best of the things but then in depth too So it's like what you should target on having is like the learning curve which you have So, uh, that should always grow. So Apart from that, yeah, rankings are just like so, uh, I don't see them as a measure of your success because You may have like a bad tournament So one or two, so, uh, it doesn't as an evidence. It doesn't matter because uh, they would obviously show Like some amount of growth, but then, uh They're not they're not the ultimate metric is what I would say. Cool. Cool. Yeah, I agree. Um, so Do you what do you guys think about? Um, the certain topics that people should start out with they're just getting into it Should they focus on math first? Should they or they should they focus on the greedy algorithms or or data structures? What what do you think they beginner should focus on? Yeah, so as for me like, uh, it depends upon why you are doing this competitive coding So most of the people like I would say 80% of them do it for the interviews So that's the main thing. Like if you're doing it for interviews, I think you should focus more on the data structure problems Uh, but if you're doing it for the longer term, uh data structures, as in I would say that binary trees is the most important one, uh, linkless array manipulation But if you're doing it for the longer run and you want to be really good at it Then basically you need to understand why we use those data structures. So you should Do your fair share of trial and error from greedy algorithms as well So that's the thing like it depends upon why you're doing this and uh, if it's just for the interview You just want to do it for two or three months to just crack, uh, amazon or something like that Then I think you can just skip to the data structures part, but uh, uh, doing it right from the basics Knowing, uh, the greedy approaches as well will actually help you understand why you're doing this and it will help you in longer Cool. Yeah. Yeah, thanks. That's actually actually a good thing I actually haven't been haven't been Understanding so much about the algorithms themselves. I've just been doing problems. But yeah, I agree But but this is this is the most important part because I mentioned like people do it for interviews, right? So again, like I would say that I cannot speak for everybody, but I have few of my friends who are like really really good developers But they suck at competitive coding and uh, these algorithms Uh, but like from what my experience is like this is not for everybody You need to put your efforts in this like learning these algorithms and all those things So but that's the thing like it doesn't measure at perfectly how good of a developer you are So just to add to the last question, you don't get disheartened by Uh, if you're not good at it, I have a few of my friends who are like one of the few of the best programmers out there in the industries and who really suck at this Yeah like given If you see a competitive program like a competitive programming question at that space value So it's it's never as easy as like, uh, use use like this area and do like this manipulator like this Make these changes in an area and uh, so basically it's uh, uh, that's very basic It's a problem that you need to solve like it's a it's a very I would I would want to say a real world problem, but you'll be definitely don't know they are not but yeah so What also helps is so let's say, uh, you choose like an algorithm or like say a data structure that you would want to learn So let's say you choose something uh Let's just let's say you choose a tree Like a tree algorithm like a binary tree or any tree, uh, any tree data structure. So what would help is First trying to know like, uh, how like how it works and why certain operations are faster when you use a tree and Why they're not faster in like an area for example, so Uh Trying to like learning that would be the first step I would say and then solve problems related to trees so that the next time when you're in a competition Or if you're solving a problem, which you don't know what like what you would want So if you've solved like enough problems in trees, you know that this Particular problem will be solved by like using some tree or the other So that was just an example But that basically applies to like any algorithm or data structure which you have like let's say you have dynamic programming a dynamic programming problem and At its face value, you would never know that uh, you're supposed like, uh, you get some hints But then if you if you haven't solved enough dynamic programming problems, you uh, like solving them enough would Give you that intuition and that uh, tell that these problems could be solved this way Cool cool. Yeah, I I agree a lot. I agree a lot with that um So, yeah, uh, I think this is gonna be my last question For this uh video. I think uh, I'm not sure how much time do you guys have left Like uh, what time do you do you guys have like specific deadline? You have to leave by the way Not for me No, no, I'm free. Okay. Well, uh, I have to leave soon in like about 10 more minutes But yeah, uh, so here's the last question is um I didn't know you you guys are already graduating and worked in the industry, right? So, uh, how how often are you do you actually use these algorithms? Inside the industry like I know in the interview process these Like they always ask about data structures and algorithms. How often do you guys actually use these in the industry by the way? This is a really interesting question. And uh, so the thing is that I About how much we use it So as for my experience, I have never I used to work for jp Morgan and that I never used it and For amazon, I guess I've used it a couple of times Uh, a graph graph related problems. But again, that's the thing. We don't use it that often because most of the problems are solved And that's the thing. Uh, like use libraries for these kind of things but again, that's not the point because Solving competitive coding problems algorithms days it actually Makes you think in a direction which is Of a debugging approach. So that's the most important thing because in the industry level the most important thing that you're going to do is Fix and Write code upon someone else's code. You're not Very few scenarios. You'll start coding from scratch. So that is what These problems teach you how to debug code and how to understand code basically So I think that we don't use it that often. But again, I Myself I have been like, uh, like these problems have helped me a lot to Uh, understand and debug code in industry level Yeah, that is true. Yeah, that's that's obviously true to like a large extent. But uh, yeah That being said, we do have libraries which help Like so most of the code that you write in like, uh What do you call it a low level language like c or c plus plus would Eventually have like a library being made in a high level language like Java or a python, but then, uh If if you know your basics and if you know that uh, this is why you're doing something This is why they're using like a tree or a hash map. So, uh, that helps in your choice over that Let's say, what would you call it? Uh, that data structure. So, uh, let's say, uh, you wouldn't Necessarily need to implement like a map or a tree But then knowing that, uh, some library internally uses map Would tell you in which cases it works better than in which cases it would not Cool. Yeah, that's that's cool. I didn't uh That's what I thought. Uh, yeah, I think understanding Algorithms and data structures help you approach problem solving in a different way But uh, I didn't expect that like I thought most people would actually use them Because of the interview process. But yeah, that's that's that's pretty interesting. Yeah Yep Yeah So, uh, yeah, that's that's all I have to say for this video. So, uh, yeah guys, uh, check out your channel These guys, it's a breaking code, right? Yep Yeah, so check these guys out. I think they they do pretty good explanations of algorithm tutorials as well and Yeah, that's pretty much it I'll upload this video on my channel as well. So I have like I would definitely recommend code that Mike because I I personally Comment on his videos and he is Really good at it. Like, uh, I think for any online tutor you how you deliver content is the most important thing It's not how much, you know, and I think like you have the talent Thanks All right. Yeah, so uh, great. I'm subscribed check these guys out and I'll see you guys later. Bye. Yes, definitely