BS-21. Median of two Sorted Arrays of Different Sizes | Binary Search Approach With Intuition

Поделиться
HTML-код
  • Опубликовано: 8 янв 2025

Комментарии • 433

  • @abhik6400
    @abhik6400 9 месяцев назад +236

    There is no way that you can come up with this optimal solution in an interview. Although the better solution using merge procedure from merge sort was pretty thinkable and doable but this is a completely genius solution !!!

    • @titusandronikus1337
      @titusandronikus1337 9 месяцев назад +24

      I came up with it on my own when solving it on Leetcode. Let’s be honest, the main idea is not very hard. But my problem was the actual implementation. You can see in the video just how many random +1 and -1 we need, as well as boundary checks. It’s crazy. I hoped Striver would find a way to make the code less ugly - sadly, no. The problem is just inherently very annoying

    • @abhik6400
      @abhik6400 9 месяцев назад +1

      @@titusandronikus1337 Really glad that you were able to come with the optimal solution on your own !!!!

    • @priyanshurana6027
      @priyanshurana6027 7 месяцев назад +6

      I came up with different approach on this one when solving on my own. It's similar to what we do in matrix's binary search I guess ( I have not watched striver's videos on it). Basically searching for kth element in any sorted arrays. It took O( log(m*n)*log(max-min)) time complexity, pretty big but it's in log and was accepted in leetcode.

    • @cosmicthor7330
      @cosmicthor7330 7 месяцев назад +3

      @@titusandronikus1337 same thought process is thinkable but seriously the implementation is though,hoestly i didnt understand fully

    • @rajat5040
      @rajat5040 6 месяцев назад +1

      @abhik6400 can u tell how it is doable from merge sort???

  • @yatendraupadhyay2180
    @yatendraupadhyay2180 9 месяцев назад +38

    Striver you are a real social reformer.
    At times when colleges are rendering students unemployable , you are making us industry ready.
    Dude Hats off to you.

  • @ravirajshelar250
    @ravirajshelar250 Год назад +288

    The going into recursion for swapping idea was 🔥

    • @easylearn8924
      @easylearn8924 Год назад +1

      can you explain why he does that?? or we also use min(n1,n2) but it gives runtime error why??

    • @tovenkatesh82
      @tovenkatesh82 Год назад +3

      @@easylearn8924 the idea is to do a binary search over the smaller-size array. while loop is written based on that and that's why using min(n1,n2) would give you error.

    • @easylearn8924
      @easylearn8924 Год назад

      ok thanks@@tovenkatesh82

    • @ashish4k07
      @ashish4k07 Год назад +1

      @@easylearn8924 If we do that that's also possible but the code complexity will be too large and the std. while loop of binary search won't work even I understood after that video.

    • @easylearn8924
      @easylearn8924 Год назад

      why it won't work in while loop can you explain?? because i able to understand but after sometime i confused in this part??@@ashish4k07

  • @sanketkumbhar8887
    @sanketkumbhar8887 Год назад +135

    He has already explained this in sde sheet but still he made a video for a2z sheet💯

    • @farazahmed7
      @farazahmed7 Год назад +5

      On which sheet has he explained this ? can you give me the link. Thanks

    • @mrlord8519
      @mrlord8519 Год назад

      ​@@farazahmed7maybe from his sde sheet for placements

    • @omkarshendge5438
      @omkarshendge5438 6 месяцев назад

      @@farazahmed7 i think he is talking about the placement series or the sde sheet of 180 questions he made long time ago, you should check that out.

  • @Dontpushyour_luck
    @Dontpushyour_luck Год назад +50

    best video of entire playlist. I never understood this problem's binary search approach earlier, but you solved it so well. And that idea to call that function again if sizeof(b)

    • @VivekKumar-p2g4l
      @VivekKumar-p2g4l 7 месяцев назад

      Why we need to do that ?
      Can you explain

    • @Beeplov2337568
      @Beeplov2337568 6 месяцев назад

      @@VivekKumar-p2g4lIt might possible that the first array has greater size,so in order to take the shorter array to proceed he did it, hence TC : O(log(min(n1,n2)))

    • @beast2811
      @beast2811 2 месяца назад

      @@VivekKumar-p2g4l he is taking the first array to be smaller

  • @ruturajchandgude6083
    @ruturajchandgude6083 Год назад +29

    Watched both videos twice ,all 3 approaches are crystal clear now,thank you!

  • @prajaktachachad477
    @prajaktachachad477 10 месяцев назад +22

    I wanna know, how you built your logic and how you became an expert in understanding this logic so well. I have been following your playlist for a couple of months and understood each problem so well. What steps do you follow in your initial stage to reach this point? Please help so that your valuable tips can help me crack coding interviews. Trust me you are simply Amazing and Genius :)

    • @shivamani-b1t
      @shivamani-b1t 21 день назад +1

      the tip is, its all about practice

  • @harshit.53
    @harshit.53 9 месяцев назад +14

    If i hadn't checked this video there is no way i would be able to think of this solution in interview
    Thanks...

  • @shubhambagul3127
    @shubhambagul3127 Год назад +26

    Waiting for this one for a long time no one explained this problem this well , Thank you.

  • @mrsmurf911
    @mrsmurf911 Год назад +26

    That swapping of the inputs and >>1 steps are 🔥 🔥

    • @ashish4k07
      @ashish4k07 Год назад

      bit manupulation and swapping is to low so yeah it improves time mostly

    • @Manas-jj6xf
      @Manas-jj6xf 2 месяца назад

      @@ashish4k07 Can you please explain why did he do bit manipulation there for find mid1?
      I've watched almost all his previous videos up until this problem, and he hasn't explained bit manipulation yet.

    • @ashish4k07
      @ashish4k07 2 месяца назад +1

      @@Manas-jj6xf basically >> means right shift which divides the number

  • @SwatiSingh-ys6hm
    @SwatiSingh-ys6hm Год назад +11

    This is one of the bestest explanations I have come across. Totally cleared my concept. Thanks a lot sir !

  • @vartikasinghania9723
    @vartikasinghania9723 2 месяца назад +2

    at 1st I thought i wouldn't understand this, but it stick till the end and it was so clear. Amazing explanation and it so motivating to see the efforts made explaining this. Thanks a lot!!

  • @utsavseth6573
    @utsavseth6573 Год назад +10

    Understood. GOod video striver. It's important to watch these important questions because it is not possible to invent these kind of solutions then and there itself.

  • @Dipanshutripathi2407
    @Dipanshutripathi2407 Год назад +4

    After watching so many videos i actually the found the gem which resolved my all the doubts in such a nice and simple way.

  • @harshhwardhanrai3716
    @harshhwardhanrai3716 6 месяцев назад +27

    This is the first video that I have not understood of you. No matter how many times I watch I just can't understand. I'm just skipping this optimal approach for now. :)

  • @TusharKumar-u4p
    @TusharKumar-u4p 11 месяцев назад +77

    I am so dumb even after solving good number of questions on leetcode I even could not even think of like this.

    • @ShubhamKumar-l2u2x
      @ShubhamKumar-l2u2x 5 месяцев назад

      same same

    • @arpitgoyal2035
      @arpitgoyal2035 5 месяцев назад +4

      you just have to understand all the concept better and try to practice more problems on your own and like solve some old problems as well to strength your concepts and get motivation.

    • @dp622
      @dp622 4 месяца назад +22

      these problems are standard problems aka basic ones, no one can come up with solutions of such problems unless they are god gifted in mathematics
      The problems in contest are variation of such basic problem which can be solved by all if they know basic problems.

    • @Vishal-s2g7c
      @Vishal-s2g7c 4 месяца назад +3

      bro you get better by uderstand

    • @karunanikam3259
      @karunanikam3259 Месяц назад

      Same🥲

  • @shikhirkalia6828
    @shikhirkalia6828 Год назад +2

    Best video explanation of this problem on the whole internet.

  • @apmotivationakashparmar722
    @apmotivationakashparmar722 4 месяца назад +1

    Understood completely . Great man , you are God in DSA.

  • @Josuke217
    @Josuke217 5 месяцев назад +2

    This is a great approach, no way I could come up with this in an interview...

  • @yasaswinikarumuri9590
    @yasaswinikarumuri9590 6 месяцев назад +3

    I still can't imagine how would someone think of such an optimal solution? It's out of mind. Are we expected to think of such optimal soln? I'm asking this bcz, it took me lot of time to understand this soln even after a great explanation...
    Thank you striver for such a wonderful explanation !

  • @Anshydv3
    @Anshydv3 Год назад +7

    The king of coding community 👑

  • @JeffreyConcerto
    @JeffreyConcerto Год назад +1

    Such a thorough explanation! Exactly what I needed to help me understand this problem. Great energy throughout and the lesson was clearly well prepared and organized to educate and enlighten. Thank you!

  • @linhnguyenduc641
    @linhnguyenduc641 9 месяцев назад

    You deeply understand the problem and explain the solution well. Thanks.

  • @ArpanChakraborty-do6yz
    @ArpanChakraborty-do6yz 11 месяцев назад +1

    before watching this intution , my favourite intution was dutch national flag algo,,, but this question along with its explanation was beyond my imagination,,,, hats off to you.......and your expression after completing this ques shows how passionate you are about your work and this gives us too much motivation,,,thank you😇😇

    • @arjunc1482
      @arjunc1482 11 месяцев назад

      bro..how will you use dutch national flag algo for this question?

    • @ArpanChakraborty-do6yz
      @ArpanChakraborty-do6yz 11 месяцев назад

      @@arjunc1482 I am not saying I will use duch algo here,,, I have just stated among all algo/intuitions duch algo and it's question was my fav,,, but after watching this question and it's soln , it is my fav now

  • @Health_asset
    @Health_asset 7 месяцев назад +1

    Thanks striver to explain this . I was thinking that this is too much difficult concept but after watching this video , I can do the similar stuff myself. Thank you so much

  • @mkkiran1446
    @mkkiran1446 19 дней назад

    One of the best explanation I have seen so far👌

  • @aruna5869
    @aruna5869 6 месяцев назад

    I shocked at the end of video after seeing the way you explained this complex optimal solution!!!!
    Thanks a lot!❤‍🔥💥❤💯

  • @rahulseetharaman4525
    @rahulseetharaman4525 Год назад +3

    Crystal clear explanation. Explained your heart out. Thank you :)

  • @sahilbani7020
    @sahilbani7020 Год назад +1

    brilliant explanation, this problem is not only hard to do but also hard to explain

  • @dhananjayadhari6481
    @dhananjayadhari6481 11 месяцев назад +2

    Really wonderful approach and explanation

  • @pranavindore2410
    @pranavindore2410 Год назад +1

    TOP notch explanation striver. I saw both videos. Understood completerly. Thank you.

  • @ArunsinghParihar-j3j
    @ArunsinghParihar-j3j 4 месяца назад +1

    Mind Blowing Solution approach

  • @dxvya23
    @dxvya23 Год назад +1

    Once again, your explanation is top-notch.

  • @amitranjan6998
    @amitranjan6998 Год назад +2

    Amazing, how you observe so minutely :) Bhai Hat's Off .

  • @sibashis_12
    @sibashis_12 Год назад +1

    brilliant explanation. even hard topics seem easy when you explain them.

  • @cinime
    @cinime Год назад +3

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

  • @RaginiGupta-q1v
    @RaginiGupta-q1v Месяц назад

    I don’t know whether you’ll read this comment or not, but believe me bhayia, I can’t imagine how I would have studied DSA without you to teach. Thank you so much, always. ♥

  • @t3ch_r4id
    @t3ch_r4id 5 месяцев назад

    Thanku for making optimal vedio separately for this problem 🥲❣️🙌🏻

  • @ArdentMusicLover
    @ArdentMusicLover 24 дня назад

    Thanks for the elegant approach! Loved it

  • @9-1939
    @9-1939 4 месяца назад

    Best video. I watched twice and understood great effort and awesome solution 🔥🔥

  • @technicalworld6470
    @technicalworld6470 Год назад +2

    What a energy !
    Thank you striver for amazing content 🙇

  • @ekanshsharma1309
    @ekanshsharma1309 2 месяца назад

    God Level Explaination sir 🔥

  • @shashankarora2945
    @shashankarora2945 5 месяцев назад

    Explained so smoothly🔥🔥

  • @playwithlinux
    @playwithlinux 6 месяцев назад +1

    Hats off to you Broh... THANKS A MILLION 💙💙💙

  • @sumitkamble_
    @sumitkamble_ Год назад +2

    At first the brain wasn't braining but got it at the end great explanation

  • @jaypratap3888
    @jaypratap3888 8 месяцев назад

    Thanks Bhai. Its a tough question, but explained it very nicely.

  • @mano_003
    @mano_003 Год назад +8

    Thank u for doing things for us even in ur busy days...❤

    • @Electronics_Exploded_9
      @Electronics_Exploded_9 Год назад +3

      "Busy" are those People who disrespect others, People who respect are not Busy ❤

  • @we_atheletes
    @we_atheletes Год назад +1

    one of best video on yt

  • @avinashkumar3116
    @avinashkumar3116 4 месяца назад +6

    If striver explains this question to a dead body and later asks him whether you understood or not. That dead body will yell from it's grave - "Understood Sir 💀☠"

  • @stith_pragya
    @stith_pragya 10 месяцев назад +2

    UNDERSTOOD..........Thank You So Much for this wonderful video................🙏🏻🙏🏻🙏🏻🙏🏻🙏🏻🙏🏻

  • @bgovindnaren7405
    @bgovindnaren7405 3 месяца назад

    thanks bro
    kya gajab video tha...
    smaj aa gaya...

  • @MrGohel-ni2py
    @MrGohel-ni2py Месяц назад

    It is a Great question and explaination is just fantastic.

  • @angelinsnehav3354
    @angelinsnehav3354 Месяц назад

    Thank you striver for the amazing content 🙇

  • @martinropke3390
    @martinropke3390 2 месяца назад

    Very good explanation, thank you for this video.

  • @shshnk11
    @shshnk11 Год назад +3

    Brilliantly explained!!

  • @atulanand6428
    @atulanand6428 7 месяцев назад +1

    I have also solved this but using another method:
    Approach was to iterate one smaller array from 1 to n and applying binary search and insert the element into another vector using bs.

  • @rushidesai2836
    @rushidesai2836 2 месяца назад

    This was difficult to explain but great job Raj.

  • @mohammedmohideen1756
    @mohammedmohideen1756 20 дней назад

    Best possible explanation !!

  • @BhaweshKumawat
    @BhaweshKumawat 11 месяцев назад +3

    17:55 l1 > r2

  • @VikasSharma-eg8mc
    @VikasSharma-eg8mc Год назад +2

    Understood!! Amazing explanation

  • @ashwingoel7173
    @ashwingoel7173 10 месяцев назад +10

    At 17:57 shouldn't it be l1 > r2?

  • @souravsikaria4387
    @souravsikaria4387 29 дней назад +2

    Even after knowing the solution this is the toughest question to code because of too many edge cases.

  • @yygysgtyfugunvt
    @yygysgtyfugunvt 3 месяца назад

    This man is genius

  • @kratikasharma9824
    @kratikasharma9824 11 месяцев назад

    Super cute, at 24:06 not true not true like a very cute kid, Awesome Explanation :) Thank You

  • @ArnabBhadra02
    @ArnabBhadra02 Год назад +4

    1 morning i would woke up and see striver had completed a2z series and i got my dream company.

  • @MAHALAKSHMIVEERARAJ
    @MAHALAKSHMIVEERARAJ Год назад

    Wow explanations. Big Thanks to Striver.

  • @umabharathis128
    @umabharathis128 4 месяца назад

    Its very helpful and clearly understand...

  • @IamGroot455
    @IamGroot455 6 месяцев назад

    your explanation is awesome 😇😇. Finally i can rest in peace🙃

  • @SHUBHAMSINGH-nv7ot
    @SHUBHAMSINGH-nv7ot 9 месяцев назад +4

    17:52 l1 is greater than r2 (correction)

  • @akethmaregowda3792
    @akethmaregowda3792 12 дней назад

    At 18:02, you wrote l1 > r1, high will be eliminated. But, I think it should be l1 > r2.

  • @AjitSingh-rg3zu
    @AjitSingh-rg3zu 17 дней назад

    Great lecture. Helped me a lot :)

  • @joeljacob4685
    @joeljacob4685 Год назад +1

    Excellent explanation!!💌

  • @sauravsarkar4785
    @sauravsarkar4785 11 месяцев назад

    great explanation buddy. Keep up the good work.

  • @arkadiptamojumder3800
    @arkadiptamojumder3800 Год назад +5

    l1 should be greater than r2 right at 17:49 ?

  • @giteshkhanna2633
    @giteshkhanna2633 2 месяца назад

    One case that could have been discussed:
    That is: Can there be a case where, l1 > r2 & l2 > r1. What to do in that case?
    Answer: There cannot be such a case. This can be proved.
    So let's assume l1 > r2 & l2 > r1 & try to reach to a contradictory statement.
    So we know that r1 > l1 (Because array is sorted)
    Therefore, r2

  • @mahakasthurim4998
    @mahakasthurim4998 6 месяцев назад +1

    Hi bro . Recently i started to watch your array playlist. Today i watching this median problem . I clearly understood your logic at first time itself . I really amazed with your logical thinking . How could you come up with this logic . You are making me logical thinking and programming more interesting. I am started to learn all the concept . Now i am following logic which is already there. But the way you are approaching all the problem with different optimal solution, its very unpredictable. Please provide some tips how you have build your logic on each ptogram when you started your coding journey. That would help most of the freshers. Thank you!

  • @RGUKTEDUIN
    @RGUKTEDUIN 11 месяцев назад

    Understood salute to striver🤓

  • @maneeshkumarpatel9874
    @maneeshkumarpatel9874 6 месяцев назад

    Loved this approach❤

  • @pratulyapratap9329
    @pratulyapratap9329 11 месяцев назад +1

    Maybe it will help :)
    int mid2 = left - mid1; // left = how many elements i can pickup mid1 = how many i have picked up

  • @nandini62
    @nandini62 5 месяцев назад

    Thank you so much broo for these series ☺️

  • @welcometoc.s.easpirants
    @welcometoc.s.easpirants 10 месяцев назад

    Great explanation. Thank you ❤

  • @HarshRathi-l2e
    @HarshRathi-l2e Месяц назад

    very well described thankyou very much

  • @sagark4080
    @sagark4080 Год назад +5

    @takeUforward, @30.01 generally in Binary search of array we consider left =0 and right=array.size()-1 correct?
    But here why have you considered low =0 and high=n1 ( which is array size itself) not n1-1?

    • @takeUforward
      @takeUforward  Год назад

      Yes because it means how many elements we take, either we can take 0 elements or we can take all which is n1

  • @charuprabha9696
    @charuprabha9696 6 месяцев назад +1

    This is a little bit too much for me to digest, but at least I understood most of it.🙂

  • @creepitup
    @creepitup 4 дня назад

    i thought of a different procedure first i will check if n1+n2 is odd or even and then proceed accordingly then i would use any vector and do a binary seach in it mid will act as a wall and if n1+n2 is odd there will be 2 walls one is mid and second is mid-1 then i would iterate between the elements of the other vector(where i have not applied the binary search) also i will count the one of elements on the left side of the walls and no of elemets on the right side of the walll then i will check for the first element of the other vector if that element is lesser than the a[low] then i will do left++ and move to the second element if it is greater than alow but lesser than wall1(basically mid-1) i will again do left++ if its greater than awall1 and smaller than awall2 then i will update the wall1 to that element and would do left++ (same can be done for right side) after iterating to all the elements in second vector i will compare the value of left and right

  • @nitishjaswal7564
    @nitishjaswal7564 Год назад +1

    Thank you Striver sir 🥰

  • @abhicasm9237
    @abhicasm9237 Год назад +2

    I did it using the approach of two sorted lists question and got 2ms solution. But this is better

  • @ketanjain5390
    @ketanjain5390 4 месяца назад

    beautifully explained!

  • @mayanksankhla1538
    @mayanksankhla1538 4 месяца назад

    Great Explanation!
    Just one observation, while explaining solution you considered median to be r1/r2 value in case of odd total length, so left part doesn’t include median, but in coding part you have considered median to be l1/l2 which mean left part includes median. Got little confused with that.

  • @YogaJournalWithMimansa
    @YogaJournalWithMimansa 7 месяцев назад

    Amazing Explanation! Thanks!

  • @RohiniShankari
    @RohiniShankari 5 месяцев назад

    love your lectures

  • @jugnugupta6839
    @jugnugupta6839 Год назад

    Great explaination..Thank you.💯

  • @Bigg_boss_trolls
    @Bigg_boss_trolls Месяц назад

    extordinary teaching bro

  • @animeshkumar2683
    @animeshkumar2683 4 месяца назад

    Happy teachers day !!

  • @nayankhuman1043
    @nayankhuman1043 5 месяцев назад

    Understood 😊. You d best ❤

  • @kaichang8186
    @kaichang8186 3 месяца назад

    understood, perfect solution

  • @souvikcseiitk
    @souvikcseiitk 6 месяцев назад

    this tutorial is awesome, thanks for this :)

  • @ShubhamKumar-uf3gc
    @ShubhamKumar-uf3gc 6 месяцев назад

    CLEAN AS ALWAYS

  • @Akhilkumar0024
    @Akhilkumar0024 4 месяца назад

    18:43 determining how to pick the number of elements how did you comes up with this is this just observation skill ? or was there an intuition ? i dont think i would have seen such a pattern anyone knows the answer please help

  • @lalitbisht8381
    @lalitbisht8381 9 месяцев назад

    Mind blowing video❤