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 !!!
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
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.
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.
@@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 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.
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 :)
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-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)))
@@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.
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. :)
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!!
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.
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.
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.
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. ♥
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 !
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 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
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!
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
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
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 💀☠"
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.
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.
@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?
I think the time complexity is not the only reason why you should do a binary search on an array whose size is smaller. If you will do a binary search on the array with a bigger size, then you will not be able to construct the first array (left partition) to make two arrays asymmetrical
One question to Striver is How did you thought of this Solution. I just though of Merging them and Finding the Median. But want to know How you developed Problem Solving in this way ?
This is a very nice video and possibly one of the best explanations. I just have one suggestion - because you're teaching this online, if you could speak softly, I am sure people would appreciate it. Right now, it seems like you're shouting. I wish you the best, don't take this comment harshly
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!
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 !!!
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
@@titusandronikus1337 Really glad that you were able to come with the optimal solution on your own !!!!
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.
@@titusandronikus1337 same thought process is thinkable but seriously the implementation is though,hoestly i didnt understand fully
@abhik6400 can u tell how it is doable from merge sort???
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.
The going into recursion for swapping idea was 🔥
can you explain why he does that?? or we also use min(n1,n2) but it gives runtime error why??
@@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.
ok thanks@@tovenkatesh82
@@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.
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
He has already explained this in sde sheet but still he made a video for a2z sheet💯
On which sheet has he explained this ? can you give me the link. Thanks
@@farazahmed7maybe from his sde sheet for placements
@@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.
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 :)
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)
Why we need to do that ?
Can you explain
@@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)))
@@VivekKumar-p2g4l he is taking the first array to be smaller
Watched both videos twice ,all 3 approaches are crystal clear now,thank you!
That swapping of the inputs and >>1 steps are 🔥 🔥
bit manupulation and swapping is to low so yeah it improves time mostly
@@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.
@@Manas-jj6xf basically >> means right shift which divides the number
Waiting for this one for a long time no one explained this problem this well , Thank you.
If i hadn't checked this video there is no way i would be able to think of this solution in interview
Thanks...
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. :)
This is one of the bestest explanations I have come across. Totally cleared my concept. Thanks a lot sir !
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!!
I am so dumb even after solving good number of questions on leetcode I even could not even think of like this.
same same
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.
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.
bro you get better by uderstand
Same🥲
The king of coding community 👑
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.
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. ♥
Understood completely . Great man , you are God in DSA.
Best video explanation of this problem on the whole internet.
This is a great approach, no way I could come up with this in an interview...
After watching so many videos i actually the found the gem which resolved my all the doubts in such a nice and simple way.
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 !
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😇😇
bro..how will you use dutch national flag algo for this question?
@@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
I shocked at the end of video after seeing the way you explained this complex optimal solution!!!!
Thanks a lot!❤🔥💥❤💯
You deeply understand the problem and explain the solution well. Thanks.
Mind Blowing Solution approach
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!
I did it using the approach of two sorted lists question and got 2ms solution. But this is better
Really wonderful approach and explanation
brilliant explanation, this problem is not only hard to do but also hard to explain
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
Crystal clear explanation. Explained your heart out. Thank you :)
Thanku for making optimal vedio separately for this problem 🥲❣️🙌🏻
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
Explained so smoothly🔥🔥
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 💀☠"
Woah bro that's deep😅
Once again, your explanation is top-notch.
God Level Explaination sir 🔥
brilliant explanation. even hard topics seem easy when you explain them.
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.
Thank u for doing things for us even in ur busy days...❤
"Busy" are those People who disrespect others, People who respect are not Busy ❤
TOP notch explanation striver. I saw both videos. Understood completerly. Thank you.
Hats off to you Broh... THANKS A MILLION 💙💙💙
Best video. I watched twice and understood great effort and awesome solution 🔥🔥
What a energy !
Thank you striver for amazing content 🙇
Amazing, how you observe so minutely :) Bhai Hat's Off .
Brilliantly explained!!
UNDERSTOOD..........Thank You So Much for this wonderful video................🙏🏻🙏🏻🙏🏻🙏🏻🙏🏻🙏🏻
Understood! Super amazing explanation as always thank you very very much for your effort!!
Maybe it will help :)
int mid2 = left - mid1; // left = how many elements i can pickup mid1 = how many i have picked up
It is a Great question and explaination is just fantastic.
This man is genius
Very good explanation, thank you for this video.
Thank you striver for the amazing content 🙇
thanks bro
kya gajab video tha...
smaj aa gaya...
one of best video on yt
hello
This was difficult to explain but great job Raj.
At first the brain wasn't braining but got it at the end great explanation
Understood!! Amazing explanation
17:55 l1 > r2
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.
Thanks Bhai. Its a tough question, but explained it very nicely.
1 morning i would woke up and see striver had completed a2z series and i got my dream company.
Has the day come yet ?
Wow explanations. Big Thanks to Striver.
@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?
Yes because it means how many elements we take, either we can take 0 elements or we can take all which is n1
Excellent explanation!!💌
Its very helpful and clearly understand...
Understood salute to striver🤓
your explanation is awesome 😇😇. Finally i can rest in peace🙃
beautifully explained!
Loved this approach❤
understood, perfect solution
17:52 l1 is greater than r2 (correction)
I think the time complexity is not the only reason why you should do a binary search on an array whose size is smaller. If you will do a binary search on the array with a bigger size, then you will not be able to construct the first array (left partition) to make two arrays asymmetrical
Great explanation. Thank you ❤
love your lectures
This is a little bit too much for me to digest, but at least I understood most of it.🙂
Happy teachers day !!
Thank you so much broo for these series ☺️
Thank you Striver sir 🥰
At 17:57 shouldn't it be l1 > r2?
Same thing i was thinkking
Thanks Striver!!
One question to Striver is How did you thought of this Solution. I just though of Merging them and Finding the Median. But want to know How you developed Problem Solving in this way ?
great explanation buddy. Keep up the good work.
U genius my frnd
CLEAN AS ALWAYS
Amazing Explanation! Thanks!
Super cute, at 24:06 not true not true like a very cute kid, Awesome Explanation :) Thank You
This is a very nice video and possibly one of the best explanations.
I just have one suggestion - because you're teaching this online, if you could speak softly, I am sure people would appreciate it. Right now, it seems like you're shouting. I wish you the best, don't take this comment harshly
Mind blowing video❤
brilliant explanation
extordinary teaching bro
Great explaination..Thank you.💯
Understood 😊. You d best ❤
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!
over the top bhaiya
this tutorial is awesome, thanks for this :)
Thank you Striver💖💖
Finally Understood man.
the man is not just king he is a ginius