LeetCode Exercise in Java Tutorial - Two Sum FAST Solution

Поділитися
Вставка
  • Опубліковано 22 лис 2024

КОМЕНТАРІ • 461

  • @danielaviv8215
    @danielaviv8215 2 роки тому +319

    Please do this kind of videos more!

  • @BlazingStar2001
    @BlazingStar2001 2 роки тому +186

    Doing more these kinds of things is very helpful, especially how u approach them. Teachers normally tell us the optimal solution but how to get to that or how to come up with that solution is not normally taught to us.

  • @manosmakris8308
    @manosmakris8308 2 роки тому +85

    Do more of these kind of videos because your thought process make me think in a different way than before.

  • @wadebrumbaugh7579
    @wadebrumbaugh7579 Рік тому +8

    I thought of your initial solution right away but would have NEVER thought of the better way. These types of videos are EXTREMELY helpful in reprogramming the way I look at a problem. Thank you!!

    • @maaax573
      @maaax573 11 місяців тому

      Comments like this help me understand that its ok that I couldnt come up with that second solution on my own. Thank you.

  • @Michaelpschreib
    @Michaelpschreib 10 місяців тому +1

    As a mostly self taught dev, I really appreciate your content. It has helped me grasp concepts I've been struggling with for a very long time. Thank you!!

  • @omarkabada2923
    @omarkabada2923 2 роки тому +28

    Yes, more videos like this would be amazing because you don't only solve the challenges, but explain the thinking behind it.

    • @MohitKhare
      @MohitKhare Рік тому

      well said sir ! Even I can understand the concepts quite easily and I'm not a native english speaker.

  • @zoflax
    @zoflax 2 роки тому +11

    honestly a weekly leetcode video like this would be so good. Please do more!

  • @memesv3.093
    @memesv3.093 2 роки тому +25

    Thanks a lot John. Please start a Leetcode series, your way of explanation is flawless

  • @being_rizwan
    @being_rizwan 2 роки тому +6

    Please do this kind of videos.
    It helps alot to understand the problem

  • @محمد-م5ث1ش
    @محمد-م5ث1ش 2 роки тому +6

    We want more leetcode questions! you're an expert in teaching. Thanks a lot.

  • @GuessWhos
    @GuessWhos 2 роки тому +8

    Please, keep doing this leetcode content. There is not good leetcode videos in Java, so this is gold!

  • @stefans6557
    @stefans6557 2 роки тому +1

    From what I know first solution is: O(n*(n-1)/2) and for the outer loop you should do: for (int i = 0; i < nums.length - 1; i++)
    Of course it still can be simplified to O(n²) - but never really understand why. I mean it's quadratic, but still quite a reasonable difference to loop i and j from 0 to end. (about half the time of O(n²), which I think is still a difference, especially if it is longer, like from 20 mins to 10 mins)

  • @tangobee
    @tangobee 2 роки тому +1

    really this is soo awesome because i just started doing leetcode and i wanted someone who can guide me and here you are like a angel :D

  • @neeldiyora3575
    @neeldiyora3575 2 роки тому +1

    I'm new to this channal. Before I saw this video I don't knew what is really hashmap is but after seeing this..... Nothing to say.
    This video is really helpful.
    Thank's for creating this awesome video.

  • @Riv3rt
    @Riv3rt 2 роки тому +54

    Love these algorithm video's personally, keep'em coming! Of course all your tutorials are also awesome- so I guess just keep up the good work!

  • @MatthewWeiler1984
    @MatthewWeiler1984 2 роки тому +8

    Great solution.
    You can decrease the memory footprint by not bothering storing the complement/index of values that are greater than the target as those would require negative numbers to achieve the target.

    • @tonypsilon_gaming3221
      @tonypsilon_gaming3221 2 роки тому +4

      Well, the problems only states integers, so they might as well be negative, or?

    • @MatthewWeiler1984
      @MatthewWeiler1984 2 роки тому +1

      @@tonypsilon_gaming3221 Fair enough.
      But 1 question that I would ask is if negative numbers are possible in the source array.
      But since this is an online test, which can be submitted multiple times, I'd assume as much and run my answer to see if it fails any test cases... If it passes all test cases, then I would add a comment explaining the optimization.

  • @joryroberts2518
    @joryroberts2518 2 роки тому +7

    More of these types of videos would be fantastic! Your explanations throughout all of your videos are incredible, and I just started tackling coding challenges and I've been struggling with how to even begin. Appreciate your channel so much!

  • @anthony68759
    @anthony68759 2 роки тому +2

    All of your videos have been so incredibly helpful to a career changing CS student like myself! Leetcode has always seemed super intimidating but your teaching style really makes them seem doable. Please do more like this!

  • @kevin_mitchell
    @kevin_mitchell 4 місяці тому

    9:44 The solution will return [2, 2] for a target off 8 which is incorrect since the same element is used twice.
    The code for the "i" should be for (int i = 0; i < nums.length - 1; i++) {...} For the i, j loop version.

  • @hinocenciopaulo
    @hinocenciopaulo 2 роки тому +4

    Dude!! Thanks a lot for this video!! I was straggling with this same question in the AlgoExpert, and I couldn’t understood the Clément's explanation. You explained SO MUCH better, and for free... Please launch a course of Algorithms and Data Structure. I'll definitely pay for that.

  • @christianolsson8644
    @christianolsson8644 2 роки тому +5

    I definitely want more videos like this! You're an excellent teacher. I'm trying to get a job as a Java developer and I'm freshening up my knowledge. I will always come back to your videos. They are fun, interesting topics, easy explained and very helpful! 😃

    • @Ольга-ж5к4й
      @Ольга-ж5к4й 2 роки тому

      If you struggle with finding a first job, try to look for testers, then get to automate tester, then you will be a perfect java coder because you know how stuff should work.
      Requirements for junior tester are so little, it is easy to apply

  • @andrewchang7194
    @andrewchang7194 2 роки тому

    Two sum was my first experience to how useful hash maps were. Started using them in all tasks where you need to look at every unique element of an array.

  • @soniahandle
    @soniahandle Рік тому +1

    A playlist with videos like this would be phenomenal! Thank you for sharing these with us!

  • @hassansiddiqui8231
    @hassansiddiqui8231 Рік тому

    I have to agree with the majority of the other comments - your explanations of algorithms for solving LeetCode solutions (well, in general good software algorithms) are some of the clearest I've seen. This is probably going to be a new subcategory of videos that you might not have planned to do, but I can see there's so much interest you have no choice but to do them! (Please?)

  • @musaddiqmanzoor2044
    @musaddiqmanzoor2044 2 роки тому +1

    I've to advocate that we do need more such stuff, @John.

  • @micleh
    @micleh 2 роки тому +1

    In order to create a stash of solutions to common problems, I'd love to see more of such videos, taught by someone who really knows what he's doing and who can teach in a clear and straightforward manner. Thanks for sharing this knowledge.

  • @santiagoaristi2808
    @santiagoaristi2808 2 роки тому +1

    Thank you John for taking the time in creating this video! Please do more of these videos as it teaches problem solving skills and how to walk through the creation of an algorithm. Thanks!

  • @nabeelrehman5451
    @nabeelrehman5451 2 роки тому +1

    Was just solving this problem and your video came in. Thanks and would love to watch more videos on leet code problems.

  • @fojirngers3661
    @fojirngers3661 2 роки тому

    I don't get it, why people don't subscribe and like this guy's channel and videos. He is the best.

  • @SrikanthNalla17
    @SrikanthNalla17 2 роки тому +1

    Yes
    Please add more videos of leetcode problems

  • @DevSofo
    @DevSofo 2 роки тому +1

    So happy i found your channel...😎 premium value ✌️✌️✌️

  • @sultangaddafi8698
    @sultangaddafi8698 Рік тому

    I was stuck for hours looking on how to write the first line of code on such leetcode problems....leetcode can be intimidating but thanks for such content, it really helps!!....please do more especially in java

  • @mohsenrezaee9936
    @mohsenrezaee9936 Рік тому

    That thing you said at the end... That makes me feel so much better about myself. I used to feel like there's something wrong with me, but it's natural, apparently!

  • @NandanChhabra91
    @NandanChhabra91 2 роки тому +1

    Thank you for covering such problems and that too in detail. We usually don't get such insights when doing things alone. Please park some time for adding such videos regularly. Thank you

  • @jatinkumar7287
    @jatinkumar7287 2 роки тому +1

    Plz do this more often I'm learning java so it's very helpful on how to approach leetcode problems. Thanks.

  • @amaralensheriff
    @amaralensheriff Рік тому

    I had to rewatch the last section as you suggested to finally get it, thanks again John. You are the man.

  • @JRC.40.31
    @JRC.40.31 6 місяців тому

    It took me a week to "sink in " but I solved my first leetcode with this video , thanks God this video Exist and Thank you John for creating such an amazing video .

  • @EstrellasBakery
    @EstrellasBakery Рік тому

    I really appreciate the message you start to give at 21:57 - I have been feeling very discouraged as of late trying to sharpen my problem solving skills and it was very comforting to hear that. Thank you!

  • @esmelealemmihretu941
    @esmelealemmihretu941 2 роки тому +1

    Please we need such kind more questions! Appreciated!

  • @upzaiz8095
    @upzaiz8095 2 роки тому

    Yes.. Nice. Coding is not just getting the correct result. But it also getting the result in correct/optimal way. Please deliver this type of videos which really brain storm and change the thinking way of coding.

  • @Bladebreak3r
    @Bladebreak3r 3 місяці тому

    Thanks for the encouragement at the end. My solution is close but not quite optimal. It's O(n) space complexity but O(2n) time complexity. I felt bad about not thinking about the hashmap solution until you gave your encouraging words at the end! Thanks man 🥺

  • @UTJunaid
    @UTJunaid 2 роки тому

    Please do this kind of video more and more! your explanation is so easy to understand. I got the concept in the first watch only.

  • @talk9415
    @talk9415 2 роки тому +1

    please stop, you have some very good java vids, super useful. for any leetcode question you can find million solutions.

  • @narenm.s8923
    @narenm.s8923 2 роки тому

    Please do these kind of videos.. because of your great explanation about hashmap now i understood it.. Before i know what is a map, set but i don't know how they actually work..now i know
    Thankyou

  • @davidzurawski4243
    @davidzurawski4243 2 роки тому +1

    Please do more of these leetcode videos!

  • @applemaysl
    @applemaysl 2 роки тому +1

    Can you please do more of these? Your explanation was so clear and to the point, I wish there was more!

  • @a1esandra
    @a1esandra Рік тому

    I really needed to hear that last bit in the end. im a 2nd yr cs student and ab to do my first technical test for an internship n i find them very hard and even thought of dropping out lol. so thank you

  • @SailBuddha
    @SailBuddha 2 роки тому +2

    Never thought about a solution like that before. This is a very useful tool to add to the tool box. Thanks!

  • @Andboldquates
    @Andboldquates 2 роки тому

    thank you solving problem with deep details, we having mostly trouble to understand , the way how you explain is highly catchable

  • @martinnnachi
    @martinnnachi 2 роки тому +1

    Would definitely like to see more challenges! Never would've thought about using a hashmap and like you said, one more thing I've learnt. Thanks a million. You're a great teacher!

  • @istvanuveges5189
    @istvanuveges5189 2 роки тому

    Hi John, thank you for the solution, I would have never thought of solving it that way...
    But I did some minor changes to your code:
    public int[] twoSum(int[] nums, int target) {
    HashMap map = new HashMap();
    for (int i = 0; i < nums.length; i++) {
    if (map.containsKey(target - nums[i])) {
    return new int[]{i, map.get(target - nums[i])};
    }
    map.put(nums[i], i);
    }
    return nums;
    }
    and I got these results:
    Runtime: 1 ms, faster than 99.76% of Java online submissions for Two Sum.
    Memory Usage: 42.2 MB, less than 96.76% of Java online submissions for Two Sum.
    :)

  • @mehmetakif8639
    @mehmetakif8639 2 роки тому

    Well, i think i can watch these kind of videos whole day without getting bored. Well done. Just perfect.

  • @randomname6444
    @randomname6444 Рік тому

    This did kind of blow my mind ngl.
    I would've never thought of this solution to the problem.
    Now I wonder where else this method might be applicable.

  • @nandhurix9547
    @nandhurix9547 11 місяців тому

    Hi John, the way you explained is more clear and more precise so I suggest you do this kind of video more and make it a playlist for Leetcode easy problems, People who are new to Leetcode like me would appreciate more content like this.

  • @shariefrana
    @shariefrana 10 місяців тому

    Love the way you teach and present the content in most simplest way, It would be great to see DSA and System design courses from you.

  • @chair_force
    @chair_force 2 роки тому +45

    Yes more leet code/algo videos, there’s barely any good Java leet code videos on UA-cam. Mostly just python and JavaScript videos. Java is neglected on leet code.

  • @oleksandrkardash4898
    @oleksandrkardash4898 10 місяців тому

    please make more of these exercises! This is a good way to learn and practice coding

  • @pliegosevilla
    @pliegosevilla 2 роки тому +1

    Im so grateful you are doing this.
    You are one amazing teacher. It’s so easy to understand code with your explanations.
    Very very grateful.

  • @gurudattshahane
    @gurudattshahane 2 роки тому +1

    Please make more videos like this, your explanation is just amazing💞. I am grateful to have people like you delivering high quality content free 🙏🙏🙏

  • @nanthawatanancharoenpakorn6649

    Please do more. I would like to learn and see how you approach the problem, why you think and how you think.thank you

  • @levybuildz
    @levybuildz Рік тому

    Just started my Leetcode journey and this was the exact video I needed to feel more confident about trying more problem and being ok about not knowing the best answer or an answer at all. You thoroughly explained 2 ways of solving the Two Sum problem and reassured me that practicing more leetcode will sharpen my eye for finding solutions to coding problems. IMO this is a must watch for all first time leetcoders! Thank you John 🫶

  • @MohitKhare
    @MohitKhare Рік тому

    My freaking God John, that was the best explanation I've found so far on the internet. Sure there could be more ways but the fact that you are able to explain it so easily and also the way you communicate as a speaker is remarkable.
    Keep doing what you do buddy, and thanks a lot. ❤ from INDIA. I feel blessed that we have people like you working with JAVA.

  • @andreuzamurengera848
    @andreuzamurengera848 2 роки тому +2

    This solution is amazing. We would love to see more questions of this complexity

  • @Raied114
    @Raied114 2 роки тому

    I'd love to see more videos about what you talked about at the last min of the video: "I never would have thought of that!".
    Your way of explaining the thought process is exactly what I'm looking for in these types of videos. I don't just want to see the solution to this or that coding problem, but the idea behind it.
    Please keep them coming!

  • @pejko89
    @pejko89 2 роки тому +2

    Simply amazing channel. Gives me so much confidence to keep learning and not to give up.

  • @santhoshkumar7285
    @santhoshkumar7285 2 роки тому +3

    Do a lot more videos like this!!! I love The way you explain it, keep doing this

  • @ankur5648
    @ankur5648 Рік тому

    Please John keep them coming I'm a university 3rd yr student and tbh I would have never been able to out that approach. I don't know when i will be able to think like other programmers 😩

  • @debasishpradhan9951
    @debasishpradhan9951 2 роки тому +4

    Hi John , waiting for the next episode , it will really help to broaden the logical thinking .
    I'm a java developer, but never imagined hashmap can be used in such a way.

  • @TheNameIsAdmiral
    @TheNameIsAdmiral 2 роки тому +2

    One of the best coding channels. VERY well explained. Cheers! You deserve way more subs.

  • @noahdavis3663
    @noahdavis3663 2 роки тому

    i really like how you showed two different implementations

  • @javo_rocker
    @javo_rocker 2 роки тому +3

    That's a great video! I had had struggle finding a solution for that kind of problems and that helps a lot. Thank you so much!

  • @rafaelmarcos9733
    @rafaelmarcos9733 9 місяців тому

    Thank you, I was struggling on how to optimize my solution in C using just One for loop.

  • @harika2988
    @harika2988 5 місяців тому

    Really like the way you have presented the logic and would like to see more of these kind of videos.

  • @ibrahimwadi6539
    @ibrahimwadi6539 2 роки тому +1

    OMG!!!!! man how can you be so good at teaching ??? you just made my day. please keep the videos coming 🙂

  • @minakianrad812
    @minakianrad812 2 роки тому

    Thank you for this video. Please do more of the Leetcode problems. Thank you.

  • @akshaynile2778
    @akshaynile2778 2 роки тому +2

    Wow !
    Really a brilliant solution using a Map. 😇
    Thanks for this video John. I learnt a new technique today. 👍

  • @sdors4
    @sdors4 2 роки тому

    You have a brilliant mind, that’s so simple solution and very smart

  • @UHealthyLife
    @UHealthyLife 9 місяців тому

    please do more videos like this. your channel is more helpful for beginners too.

  • @richardmeyer418
    @richardmeyer418 2 роки тому +2

    Thank you. This was super interesting (to me, anyway). Please give us a few of these every now and then - I'm not asking you to make it exclusive, but it was fun.

  • @aspeno5613
    @aspeno5613 2 роки тому

    thanks for your thorough explanation of the hash map! I understand it so much better now!

  • @mightygreen3364
    @mightygreen3364 2 роки тому

    Great solution, since I don't have uni right now, I do a few leetcode problems a day, this will probably improve a lot of them.

  • @Robert723
    @Robert723 Рік тому

    I had to check out the HashMap part 3 times. For me personally it's not an easy Programming task :) Thank you for the explanation

  • @AdetunjiSundayAwobajo
    @AdetunjiSundayAwobajo 2 роки тому

    Thank you John, I had solved this code challenge on leetcode but I used brute-force approach outer and inner loop and it's was a mess wrt speed, I have been keen on solving it once more in a smarter way but here you came with the almighty block-buster smashing way.. I will do more on algorithmic thinking. By the way, you should have a full tutorial on DS & Algorithm...

  • @auniquehandle
    @auniquehandle 2 роки тому +1

    Hi John, i love this video. Learning algo on Leetcode is hard even with looking at the solution. However this video helped me understand 2 sum very easily. Thank you

  • @ShakilaBoler-wz1os
    @ShakilaBoler-wz1os Рік тому

    Hey John please do more leetcode videos. I love how clear and precise your explanations are!! I was sad to only see the two videos in the playlist. Hope you’re doing great!!

  • @JayyDEmm_
    @JayyDEmm_ 2 роки тому

    These videos are really helpful for beginners like me in Java. - Everything I learned in College was very basic and a few things didn't make much sense to me, but now that I am watching your videos, and going step by step with your tutorials, makes a lot more sense and I can understand a lot more than I did while in my course.
    I have seen these kind of code challenges in HackerRank and Codility for job applications, and they can be really hard for beginners like me. However, with tutorials like this one, I am pretty sure next time we have to complete a code challenge, it will not be as difficult. So, thanks for your videos, it would be nice if you keep posting tutorials of challenges similar to this one. It is a good way of learning.

  • @COD_MW007
    @COD_MW007 2 роки тому

    I enjoy each and every bit of thing you do. when you write the code, when you feel something about the code and laugh, I laugh too. you are helping me and others who are just in the path of learning java in the best way possible. Huge respect for you Sir!! you just keep doing what you are doing, I am eager to learn a lot of things from you.

  • @lanatimmo3686
    @lanatimmo3686 2 роки тому +1

    Thanks a lot for this clear explanation! Please, do more tutorials for LeetCode exercises!🙏

  • @fortuneblaise4832
    @fortuneblaise4832 2 роки тому

    Please make more algorithm problem solving videos. It is really helpful. Thanks John!!

  • @harshitvarshney2764
    @harshitvarshney2764 Рік тому

    These videos definitely will help a lot of students as well employees who currently working, to crack the interview round. 🎉🎉

  • @sarojmaharjan3986
    @sarojmaharjan3986 2 роки тому +4

    Wow do more of these videos ! Love your explanation

  • @grimsri3782
    @grimsri3782 2 роки тому +1

    Please post this kind of videos more. I like the way you explaining the details by going into the deep. I am waiting😋

  • @tfamidoinglol4243
    @tfamidoinglol4243 2 роки тому

    Please make more of these videos. This video was very well explained.

  • @krystall995
    @krystall995 2 роки тому

    Maybe the outer for loop should be for(int i=0; i

  • @dele1518
    @dele1518 2 роки тому +1

    Please do more like this. this is really awesome

  • @Soromeister
    @Soromeister 2 роки тому

    I actually solved this same problem about a week ago using the same solution with HashMap after seeing the performance results AND trying to solve it with Set instead (and failing). What you didn't mention is that HashMap has unique keys so there's no duplicates there. There's a bit of a performance gain with this as well. I'd love to see how you solve FizzBuzz in a future video.

  • @davidx5828
    @davidx5828 2 роки тому +2

    Really good video, explaining the code was in-depth and at an appropriate level. Maybe a video on the time/space complexity? That was a hard concept for me starting out.

  • @SHIVAGARCÍACHUMKHWAN
    @SHIVAGARCÍACHUMKHWAN 12 днів тому

    I love the way you explain these things!

  • @sebon11
    @sebon11 Рік тому

    Dude this video is brilliant and excellent! Not just the solution, the explanations and the speech at the end as well. Thank you!

  • @stefans6557
    @stefans6557 2 роки тому

    Very clever idea, how to solve in O(n) time! The solution was immediately obvious, as you said what to put in the map (complement and index) at about end of minute 11, so I came up with a slightly different solution:
    ----
    public int[] twoSum(int[] nums, int target) {
    Map map = new HashMap();
    for (int i = 0; i < nums.length; i++) {
    if (map.containsKey(nums[i])) {
    return new int[]{map.get(nums[i]), i};
    }
    map.put(target - nums[i], i);
    }
    return nums;
    }
    ----
    Not sure, if it is slower - got 6-8ms in first runs, and 4-6 for yours, with a new try it was then 1ms for mine, so i think it's about the same (map.containsKey vs. null check) but leetcode has a pretty wide time fluctuation.

    • @CodingWithJohn
      @CodingWithJohn  2 роки тому +1

      Nice! Yeah it's hard to say, the LeetCode times vary pretty wildly.