2 Sum Problem | 2 types of the same problem for Interviews | Brute-Better-Optimal

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

КОМЕНТАРІ • 478

  • @takeUforward
    @takeUforward  Рік тому +103

    Let's march ahead, and create an unmatchable DSA course! ❤
    Timestamps pleaseeee
    Use the problem links in the description.

    • @prithammahato1915
      @prithammahato1915 Рік тому +2

      0.45 - BRUTE SOL
      5.13 - BETTER APPROACH (USING HASHING)
      11.55 - OPTIMAL APPROACH (USING 2 POINTER)

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

      0.45
      BRUTE
      5.13
      BETTER
      11.55
      OPTIMAL

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

      @take U forward : Hi Striver Bhaiya , I love your video , I am learning alot from you , just want to highlight in SDE sheet for this problem it's redirecting to some other question (i.e Find all pairs with a given sum) ,but it's similiar to 2sum approach only :)

    • @RamanKumar-er8ie
      @RamanKumar-er8ie Рік тому

      it does not work on tc=-3,-2,2,3,3 any please help me out in this

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

      @@RamanKumar-er8ie what is the target?

  • @habeeblaimusa4466
    @habeeblaimusa4466 Рік тому +239

    Bro, I am a guy from Africa you are the first person in this tech community that inspires me that I can do it..
    Hats off for you bro 🔥🔥🔥

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

      Bro ,I need some tips to increase my 🍆?

    • @kulkarnisoham
      @kulkarnisoham Рік тому +28

      That's a complement to whole country..!!

    • @Fe-ironman
      @Fe-ironman 10 місяців тому

      no@@kulkarnisoham

    • @barnam_das
      @barnam_das 8 місяців тому +5

      yes my boy, you can do it lets gooooo !!!!

    • @ArvindSingh-wj7vy
      @ArvindSingh-wj7vy 6 місяців тому +4

      Thank you from India on behalf of Striver 😂

  • @TheITEngineer
    @TheITEngineer 2 місяці тому +51

    Striver, I cracked my coding interview by providing your optimal solution. Can’t thank you enough. You have changed lives of many. Keep doing great work ❤

  • @pragmaticcoder6910
    @pragmaticcoder6910 Рік тому +25

    I can’t thank enough because you teach so well about the concepts of DSA compared to others. None of the paid resources out there have good content. All I can say is May God bless you with long life and happiness. You are making all of us to land in our dream job.

  • @09ankurjaiswal85
    @09ankurjaiswal85 Рік тому +47

    00:06 The video covers the 'two sum problem' and its two varieties.
    02:04 Two sum problem can be solved using brute force method
    04:05 Optimizing 2 Sum problem using a better solution
    06:08 Using hashing to easily retrieve elements from a data structure.
    08:13 Find the indexes of two elements in an array
    10:30 Two pointer approach is a slightly better solution to solve the problem without using a map data structure.
    12:38 Using the two-sum problem to find pairs that add up to a given target
    14:51 The time complexity of the algorithm is O(n)
    16:49 Space complexity and array manipulation explanation

  • @many987
    @many987 Рік тому +12

    bhaiya you're so much doing for us, even you live alone in Poland, you sacrifice your time for you and I understand every thing you teach as you are so good in explaining and making people understand. once again thanks a lot for this

  • @suravighosal9934
    @suravighosal9934 Рік тому +16

    We need more problem solving videos. Explanation is super. I have gone through a few channels but this is the best! Thank you so much.❤️

  • @Josuke217
    @Josuke217 4 місяці тому +6

    Man after watching the first 5 videos and solving the problems on my own , I was also able to solve almost all medium and some hard problems. Watching these videos really built my logic , these lectures are a gold mine.

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

      I didn't think about hashing but you mentioned it, I quickly coded it and got the answer. Now I just have to think of these approaches quickly

    • @Squirt_Turtle
      @Squirt_Turtle 4 місяці тому +2

      Yes even i can solve any problem using brute force approach for better & optimal i have to think....i m sure till the course end i will able to improve my solving skills..i belive ❤

    • @KrishnaKumar-b4m9p
      @KrishnaKumar-b4m9p 2 місяці тому

      @@Josuke217 same

  • @aryansinha1818
    @aryansinha1818 Рік тому +46

    Man you have changed a lot, this new version feels like a super saiyan mode.

  • @harshavardhan184
    @harshavardhan184 Рік тому +43

    This is the consistency we need from you bhai! 🔥

  • @parakhpatel93
    @parakhpatel93 11 місяців тому +3

    this 5-star add is just crazy!!

  • @itzmartin20
    @itzmartin20 Рік тому +5

    Understood! Thanks a billion for your top-notch explaination brother!

  • @secretcoder7
    @secretcoder7 Рік тому +4

    GREAT BHAIYA I buy multiple dsa courses but i only understand with ur lectures
    🤗🤗

  • @md.ualiurrahmanrahat2400
    @md.ualiurrahmanrahat2400 Рік тому +3

    Done this video. Amazing explanation. Learning amazing. Growing amazingly.

  • @AbjSir
    @AbjSir Рік тому +3

    2 pointer approach was very beautiful

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

    int main() {int n=3;
    int array[3]={3,2,4}; int target=6;
    for(int i=0; i

  • @parthkolgiri7501
    @parthkolgiri7501 Рік тому +12

    When he introduced two pointer method my mind was like 🤯💥 Thank you striver!!!

  • @KomalSingh-qr4mu
    @KomalSingh-qr4mu 3 місяці тому +1

    Understood ! This is the first ques of my challenge 😃

  • @PrithaMajumder
    @PrithaMajumder 5 місяців тому +4

    Raj, Thanks a lot for This Amazing Video about C++ Arrays
    Video - 5 Completed ✅

  • @tanmaykarn
    @tanmaykarn Рік тому +2

    goddamn, maybe it was the first time, I understood the approach from the video and coded it on my own and got it accepted. God complex bruhh

  • @alwin3000z
    @alwin3000z Місяць тому

    When I was asked before. I first sorted the array and done the binary search instead of hashmap to find the target. Wish i saw ur video then.

  • @hareshnayak7302
    @hareshnayak7302 8 місяців тому +1

    Understood, Thank you strivers for this amazing video.

  • @sagestudy
    @sagestudy Рік тому +3

    You are Great Sir! I love your explanation !!

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

    I am actually preparing for my placements,now im btech 3 rd yr and i wanted someone who says from the scratch with the bestttttttt explanation.........thankyou soo muchh bro...i will follow each and every video of urs and i hope i can crack it....!!!

    • @PavitraYakkali
      @PavitraYakkali 2 місяці тому

      if you submit this two pointer approach in leet code is it accepted??

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

    🎯 Key Takeaways for quick navigation:
    00:45 📚 *The video is part of the Striver's A to Z DSA course, covering comprehensive content with a guarantee of deep understanding in DS algo for interviews worldwide.*
    01:12 🎯 *The Two Sum problem has two varieties: one asks for a yes or no if a pair with the given sum exists, and the other requires returning the indices of the pair.*
    02:50 🧠 *The initial Brute Force solution involves nested loops to check every pair's sum.*
    05:24 ⏩ *The improved solution uses hashing, mapping array elements to their indices, reducing time complexity to O(n).*
    09:17 🚀 *The optimal approach, sorting the array and using two pointers, achieves O(n log n) time complexity without extra space.*
    15:16 🔄 *The space complexity for the two-pointer approach is O(1), considering no additional space is used.*
    17:50 📂 *Code for all three approaches (Brute Force, Hashing, Two-Pointer) is available in C++, Java, and Python in the video description.*
    Made with HARPA AI

  • @JatinderDhiman-e4c
    @JatinderDhiman-e4c 9 місяців тому +1

    The question is to find the indices of the elements which on adding give us the target value. In the last part of video, where we need to find the solution in O(1) space, we sort the array and hence lose the indices of input array. So how can we return the indices of elements then ?

  • @sunilkamat8199
    @sunilkamat8199 Рік тому +2

    Brute -> Better > Optimal = BEST👌

  • @m_fi8926
    @m_fi8926 3 місяці тому +1

    in the brute force approach you should have initialized j=i+1;

  • @movocode
    @movocode 4 місяці тому +1

    10:36
    mpp.insert({nums[i], i}); is more optimised than
    mpp[num] = i; (used in video)

  • @harshukey6072
    @harshukey6072 Рік тому +2

    Understood 🎉
    40 lakh

  • @anamikarawat3698
    @anamikarawat3698 Рік тому +9

    Thankss bhaiya for this consistency ❤️🙌
    My placement is coming soon I'm in 6th semester!!🙂

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

      me too, can we connect on linkedin?

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

      Hello bhaiya how was it?
      I'm here at 3rd sem 🤔

    • @chiragdusad2015
      @chiragdusad2015 8 місяців тому

      Hey!
      Do you get the placements or how was your experience?

  • @sagnikbose5823
    @sagnikbose5823 Рік тому +6

    Bhaiya thanks for understanding from the student perspective. You are doing a really great job. Looking forward to the other problem solving videos from you. Good luck!

  • @HassanAbbas-wy7wj
    @HassanAbbas-wy7wj 3 місяці тому

    love you striver😍 you are the best teacher and mentor

  • @tamilmukbang3789
    @tamilmukbang3789 7 місяців тому +1

    understood. Thank youuuu

  • @sreescorner
    @sreescorner Рік тому +2

    Thanks a lot, very clear explanation

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

    Understood!!!...Great as always. :)

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

    Awesome explanation, thanks a lot

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

    Understood! Super awesome explanation as always, thank you very very much for your effort!!

  • @shafiulhaque6583
    @shafiulhaque6583 Рік тому +3

    Thanks to you for the video Sir .
    Had a query : In Type 2 of the problem , why do we need the extra Data structure for the indices ? Because I think "left" and "right" these should be giving us the indices of the 2 numbers whose sum equals to the target .

    • @aashishomre1624
      @aashishomre1624 Рік тому +5

      Aftet sorting indices are changed

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

      ​@@aashishomre1624 bhai return hum curly braces ma kyu nahi kar sakta hai

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

      Bcoz return type function ka vector hai {-1,-1} indicating no pair found

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

      vector vect{ 10, 20, 30 }; this syntax is used

  • @charuwaka1
    @charuwaka1 8 місяців тому

    3:33 here you can keep j=i+1 instead of 0 so you don' need to write i==j

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

    Top notch 🤩. Understood

  • @SigmaEditsbr
    @SigmaEditsbr 8 місяців тому

    Thanks sir for provide us this type of content ❤❤❤

  • @nihalshaikh196
    @nihalshaikh196 8 місяців тому +4

    Using unordered_map we can do it in O(n) and even if we use ordered map we can do it in O(n*logn) and for two pointer approach we are sorting first so it is taking O(n*logn) so how is that optimal approach?

    • @arpit3242
      @arpit3242 5 місяців тому +2

      Two pointer approach is not that much optimal approach, but it is used when we want to find the answer without "map" data structure.

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

    Understood. Very clear explanation

  • @Nishantkumar-oh9th
    @Nishantkumar-oh9th Рік тому +1

    HE just killed it as it says🤗

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

    12:36
    sorting the array itself will take O(n*n)
    then another O(n) for the 2 pointer traverssal whick adds up to O(n*n) ruining the whole point of optimisation !

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

      No bro when we sort using bubble sort or selection sort or insertion sort we will get O(n*2) but if we use MERGE SORT or QUICK SORT we will end up with O(N*log(N)) that’s what he is saying to do

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

      But in this question we need to use only QUICK SORT but not MERGE SORT becoz MERGE SORT space complexity is O(N) but for Quick Sort it is O(1)

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

      And you can see him saying it at 16:51

    • @balajik7376
      @balajik7376 7 місяців тому

      Got the same doubt

    • @balajik7376
      @balajik7376 7 місяців тому +1

      ​@@venkatesh_kensyou cleared it thanks❤

  • @bhavyasharma3500
    @bhavyasharma3500 Рік тому +2

    Hats off to you striver bro

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

    Thank u soo much Dada, u r the real inspiration. Respect++;

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

    you jus make things easier..

  • @saddatsabanature4307
    @saddatsabanature4307 7 місяців тому

    solve in python
    $$$
    x=list(map(int,input().split()))
    x.sort()
    y=int(input())
    for i in range(y):
    a=(y-x[i])
    if (a in x):
    p=x.index(a)
    print(i,p)
    break
    else:
    continue
    time complexity 0(n)

  • @prashantindurkar1457
    @prashantindurkar1457 2 місяці тому

    Top notch . Understood

  • @kapilraivines8486
    @kapilraivines8486 7 місяців тому

    Hey Striver I am from Jupiter... I love your DSA playlist

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

    Understood
    Thank You :-)

  • @banothutharun2743
    @banothutharun2743 8 місяців тому +1

    understood sir

  • @DeepakKumar-xj4ul
    @DeepakKumar-xj4ul 8 місяців тому

    understood everything Thanks a lot sir!

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

    understood everything .... thanks striver

  • @Manas-jj6xf
    @Manas-jj6xf Місяць тому

    In which lecture, do you explain the greedy approach for the first time?

  • @AnjuGupta-sz1uk
    @AnjuGupta-sz1uk Рік тому

    understood bhaiya! really well explained..

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

    Understood. Thanks a lot. Make More videos please......

  • @m.nirupreddy8001
    @m.nirupreddy8001 Рік тому

    Understood! great explanation

  • @user-zn3be9ik1x
    @user-zn3be9ik1x Рік тому +2

    Pls make videos on sliding windows types questions and the types

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

    Completed 5/28!!!

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

    i got an small logic striver not so optimal
    for(int i = 0; i < nums.length; i++) {
    for(int j = i + 1; j < nums.length; j++) {
    if(target-(nums[i]+nums[j])==0){
    return new int[]{i,j};
    array:[8,4,6,12[ }
    ex: target =14
    14-(8+4)=!0x
    14-(8+6)=0 true so we wil return the indexes

  • @karamveeryadav8824
    @karamveeryadav8824 6 місяців тому

    00:06 The video covers the 'two sum problem' and its two varieties.
    02:04 Two sum problem can be solved using brute force method
    04:05 Optimizing 2 Sum problem using a better solution
    06:08 Using hashing to easily retrieve elements from a data structure.
    08:13 Find the indexes of two elements in an array
    10:30 Two pointer approach is a slightly better solution to solve the problem without using a map data structure.
    12:38 Using the two-sum problem to find pairs that add up to a given target
    14:51 The time complexity of the algorithm is O(n)
    16:49 Space complexity and array manipulation explanation
    Crafted by Merlin AI.

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

    Understood bhaiya 🙏 ❤️

  • @jay8118
    @jay8118 Рік тому +2

    Job ke saath saath Padhana koi inse sikhe..🙌🙌

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

    Understood 🔥

  • @Mani_0962
    @Mani_0962 8 місяців тому

    1.Understood

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

    understood bhaiya. u r best

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

    As usual you rock as you explain 🔥
    Hey Raj, what if the array has duplicate elements
    for example,
    arr = [2,3,5,1,2] and target = 4
    Will hashing work for this case too?.................Because hashmap has unique keys

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

      Yes it will work beacuse we will check if the target - curr is present in the hashmap before putting the curr in map , So if the curr elem is duplicate of some element that is previiously present, we wont have to worry coz we are checking before inserting .

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

      @@ayushmittal9666 Understood thanks

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

    Understood

  • @DhruvBhavinJethva
    @DhruvBhavinJethva Місяць тому

    Understood Sir!

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

    Samaj aa gaya!!

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

    Understood. Thank you.

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

    Best explanation

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

    Great job. Thanks.

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

    Understood bro.. thank you

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

    Understood Everything Striver:)

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

    I did not understand why you did mpp[a]=i at the last in the type-1 problem

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

    As usual lovely.

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

    can we do binary search and improve on approach

  • @rumiNITPatna
    @rumiNITPatna Місяць тому

    amazing video striver!

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

    while (left

  • @RahulUnscripted_
    @RahulUnscripted_ 5 місяців тому +1

    Can anyone pls explain why it is checked whether remaining is not equal to mp.end() 👀👀

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

    understand fully...😄

  • @HARSHRAJ-gp6ve
    @HARSHRAJ-gp6ve 4 місяці тому

    Raj bhaiya, if we apply binary search for I+1 to aaray size for every I it also give result in nlogn

  • @HimanshuChamoli-j2v
    @HimanshuChamoli-j2v Місяць тому

    In the better solution how can you find in the map that array element is present or not untill you put those all the elements in the hash map

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

    best explaination

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

    striver bhaiya, thank you so much!!

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

    Understood 💯💯💯

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

    I am starting leetcode from 1st January 2024
    1st problem two sums

  • @ronakparjapati2264
    @ronakparjapati2264 6 місяців тому +1

    bhaiya Third approach will not be apply if we return index of both element because if we do sort the element then automatically element indexes will be changed...

  • @DK-ox7ze
    @DK-ox7ze Рік тому

    Average and worst csse TC of unordered Hashmap is O(1) and O(N), so total TC can be O(N) or O(N^2). So how did you arrive at total TC of O(NlogN) for the better approach?

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

      Sir has suggested to take ordered_map which has TC = O(logN) for search and insertion instead of unordered_map in case we are given with critical inputs or when problem might end up to worst case.

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

    i think for the last solution time complexity should be nlogn

  • @saibunny1253
    @saibunny1253 4 місяці тому +1

    thank you anna

  • @heyOrca2711
    @heyOrca2711 8 місяців тому

    Understood! Sir

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

    Thank you striver❤

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

    understood

  • @AniketKumar-hf2bo
    @AniketKumar-hf2bo 10 місяців тому

    understood ,thank you

  • @sarangkumarsingh7901
    @sarangkumarsingh7901 8 місяців тому

    Understood Sir................