Subscribed right away. Cant imagine the amount of work this creator is putting in making these videos. Hats Off.
@techdose4u3 жыл бұрын
Thanks
@dhruvsharma67724 жыл бұрын
Thank you very much for such a wonderful explanation.Intuition development is very Important rather than coding and learning formula for this problem and you have explained it in depth with appropriate examples. Please keep making videos like these.
@techdose4u4 жыл бұрын
Thanks
@MrRobot-mb6rq3 жыл бұрын
Why KZbin doesn't have option for liking more than once? Great explanation man🔥
@techdose4u3 жыл бұрын
Thanks : )
@nightmarauder29093 жыл бұрын
I really like that you explained the thought process behind implementing memoization. Thank you for that!
@techdose4u3 жыл бұрын
Welcome 😊
@rajatbudania61814 жыл бұрын
Best explanation series on Buy And Sell Problems !!
@techdose4u4 жыл бұрын
Thanks :)
@gurnoorsingh29544 жыл бұрын
I don't think this could have been explained better than you did
@techdose4u4 жыл бұрын
Thanks buddy :)
@AkshayKumar-xh2ob3 жыл бұрын
Was struggling with this question and the intuition behind the soln for the whole day. As always TECH DOSE saves the day.
@mohinipotdar4773 жыл бұрын
Explained very well and smoothly converted complex problem into simpler one. Thanks for such wonderful video.
@tanvisharma68793 жыл бұрын
Very well explained. Hats off to Tech Dose!
@techdose4u3 жыл бұрын
Thanks :)
@dushyantsingh26244 жыл бұрын
watching his amazing explanation at 3:20 am while waiting for 4:20am
@techdose4u4 жыл бұрын
Wow 😅
@lapujain4 жыл бұрын
Amazing explanation. Hats off to you for putting so much efforts.
@techdose4u4 жыл бұрын
Thanks :)
@annawilson38243 жыл бұрын
Awesome video! In principle, we don't need the 1st loop, and going further we can solve even in one scan.
@techdose4u3 жыл бұрын
👍🏼
@subhascse2 жыл бұрын
Wonderful!! Finally a very good explanation!! Thanks a lot.
@jaatharsh4 жыл бұрын
thanks a lot, dude, ur detailed explanation definitely helped understand the crux of the problem. keep up the great work.
@techdose4u4 жыл бұрын
Thanks
@rajeshadam9783 жыл бұрын
I think its somewhat complicated to explain but you explained well ! here is a easy approach : class Solution { public int maxProfit(int[] p) { int pr1=0; int pr2=0; int mn1=Integer.MAX_VALUE; int mn2=Integer.MAX_VALUE; for(int i=0;i
@vrushankrao49114 жыл бұрын
Kicking off the day with this video 🔥
@techdose4u4 жыл бұрын
Nice :)
@bharathkumar58702 жыл бұрын
wow..that divide and conquour approach is super
@MrACrazyHobo3 жыл бұрын
For any newcomers, the divide and conquer approach is the easiest to understand.
@BurhanWani14 жыл бұрын
Great explanation. Keep up the good work
@techdose4u4 жыл бұрын
Thanks :)
@abhilakshmaheshwari93602 жыл бұрын
Big cheers to you man, explained really well!!!!🙌
@MiddleClassTalk2 жыл бұрын
amazing devide and conqure approach
@techdose4u2 жыл бұрын
Thanks 😄
@saneethvarma78064 жыл бұрын
Best Explanation for this problem.
@techdose4u4 жыл бұрын
Thanks :)
@MrKasle3 жыл бұрын
Great Explanation!!!
@techdose4u3 жыл бұрын
Thanks
@amchourasia3 жыл бұрын
Beautiful explanation
@kuldeepdebnath47873 ай бұрын
Great Explanation! Really helpful to understand.
@techdose4u3 ай бұрын
Nice :)
@EditorGuru3 жыл бұрын
Amazing explanation brother...Thank you so much
@ajaywadhwa33984 жыл бұрын
Wow !!! This is really an awesome explanation.
@techdose4u4 жыл бұрын
Thanks
@Suraj-lo7bg2 жыл бұрын
i should take max(profit, left[i]+right[i]) . if we take left[i-1] we're excluding a fact that ith element may be the maximum of left subarray and minimum of right subarray.... in that case. transaction where we sell on ith day while we bought from a day on left, is ignored. and if we have to sell and buy on same day... that's same as holding it, because left subarray ensures that we've already purchased before we're trying to sell. check for the input.. 1 2 3 4 5 . now consider 3 as pivot.. profit left = 1, and profit right = 5-3 = 2.. total profit = 3... but max profit is 4. 5-1.
@pavittarkumarazad32598 ай бұрын
This needs to be pinned. I was facing the same issue and resolved this by myself but was looking for the explanation. Thanks :)
@anmolsharma9539 Жыл бұрын
This is some next level stuff thank you so much sir. you are the real deal.
@vishalverma9202 жыл бұрын
what is the time complexity of recursive solution after memoization ??
@manasbohat68834 жыл бұрын
thank you man , this was amazing
@techdose4u4 жыл бұрын
Welcome :)
@JyotiprakashMandal-bp8ng5 ай бұрын
Divide and conquer easy damn easy thanks a lot
@SHASHIKUMAR-pp4hg4 жыл бұрын
I did it in O(n) time and space still 5%,5% on leetcode!!!!!!!!!!!!!!
@pamelamoore96083 жыл бұрын
Don't feel bad ... I tried a bottom-up DP approach to this, allocating a jagged array which is essentially O((N^2)/2) space (each cell storing an int), where each row corresponds to the end of the subarray and the column corresponds to the beginning of the subarray, and I also approach this using a divide and conquer (i.e. partition the array in 2 pieces (for the 2 transactions), and calculate max profit per subarray (calculating just once), and I don't get any TLE, but I blow up memory about test case 202 (of 214). I'm now trying to figure out how I can calculate better the next partition based on the previous partition. It's vicious (that's why it's hard).
@robertmiller3765 Жыл бұрын
I think the string operation glossed over in the middle is actually O(1) (since the length of the string would be constant) as it's just concatenating 3 numbers (not n numbers).
@santoshreddy34 жыл бұрын
You are awesome. Very nice explanation.
@techdose4u4 жыл бұрын
Thanks
@siddharthmehta69662 жыл бұрын
Simply , Loved it !
@BlumChoi2 жыл бұрын
Please explain how to choose the dividing line in the divide and conquer approach
@hriteshupadhyaya44404 жыл бұрын
your dp approach is not getting accepted on interviewbit.
@techdose4u4 жыл бұрын
Maybe they want divide and conquer. Interviewbit may set their requirement for the most optimal. Try the same on leetcode with DP. It depends of what complexity they are expecting.
@hriteshupadhyaya44404 жыл бұрын
@@techdose4u ya It is fine for leetcode
@kapilgupta85433 жыл бұрын
Nice intuitive explanation!
@techdose4u3 жыл бұрын
Thanks
@vinayak186f33 жыл бұрын
If you don't come up with the solution , ask the interviewer to explain it to you
@techdose4u3 жыл бұрын
😂
@nikhilchandna48514 жыл бұрын
Great Explanation
@techdose4u4 жыл бұрын
Thanks
@meylyssa36664 жыл бұрын
Nice explanation! Thanks!
@techdose4u4 жыл бұрын
Welcome :)
@seekimaan Жыл бұрын
amazing explanation, thank you very much sir!
@sumashreyatv25064 жыл бұрын
Amazing explanation....so easy to understand.
@techdose4u4 жыл бұрын
Thanks :)
@praveenbandaru87002 жыл бұрын
why is time complexity 2^n for memoization?
@Samir-ow6sq2 жыл бұрын
Good Explanation
@mystryb3454 жыл бұрын
very good explanation sir
@techdose4u4 жыл бұрын
Thanks
@MansiThakkar1393 жыл бұрын
Very useful! Thank you
@techdose4u3 жыл бұрын
Welcome :)
@rahulmistry91733 жыл бұрын
Amazing!!!! Could you explain the time complexity after adding memoization to the recursive solution? You didn't mention that
@MrVishal2033 жыл бұрын
I think, number of calls in that case will also be 2^n, only difference is it will not calculate all the cases as the repeated ones are already stored. Please correct if this is wrong.
@ashutoshtiwari47193 жыл бұрын
Thank you !!
@techdose4u3 жыл бұрын
Welcome :)
@dovyraj12724 жыл бұрын
sir, nice explanation, but how to get idea , the idea is not striking at all, when i see a new kind of problem, please help
@techdose4u4 жыл бұрын
Maybe divide and conquer don't strike but recursion should be intuitive if you had solved cooldown problem or if you have practiced enough on backtracking. So try to think about observations and try to see if a problem can be framed or converted to other problem. This was you can practice to improve yourself.
@Mandeepsingh-jo5cf3 жыл бұрын
You are the Best .
@vinothrajg85764 жыл бұрын
Great stuff again ☺️.. Thank your
@techdose4u4 жыл бұрын
Welcome :)
@drishtdyumnshrivastava53132 жыл бұрын
that divide and conquer approach simultaneously gave me Goosebumps but also left me in awe by the pure beauty of the approach..... As always really appreciate your work.....thank you.!!!
@manishgoyal52984 жыл бұрын
Can you please suggest some more problems to practice peak valley approach.
@techdose4u4 жыл бұрын
Other versions of this problem are on similar logic. I had covered more of such videos in challenges but don't remember the name 😅
@yitingg79423 жыл бұрын
Wow you just never stop surprising me. I am speechless!! Can I be your student please ?!!!😉😉
@techdose4u3 жыл бұрын
You are not just a student 🤪
@SHASHANKRUSTAGII3 жыл бұрын
Just tell me how will it come to my mind? How can one think this optimal approach by own?
@aksay.38233 жыл бұрын
The idea(Divide and conquer one) is kind of related to the candy peoblem in leetcode.
@techdose4u3 жыл бұрын
👍🏼
@aksay.38233 жыл бұрын
@@techdose4u Hey how about when we generalize and say k transactions are allowed then we will have to apply the memoization approach?
@ajmalmohamed3 жыл бұрын
Awesome
@techdose4u3 жыл бұрын
Thanks
@abhishekkumargupta30434 жыл бұрын
Can't we sell and then buy that same stock on the same day? Or, are we already taking that into account here in the mentioned process. Please explain.
@techdose4u4 жыл бұрын
We can't sell before buying and we cannot perform multiple operations on the same day. Only buy or sell on a day. I had said about this in the video.
@abhishekkumargupta30434 жыл бұрын
@@techdose4u Yes seen that, but it's not mentioned in the given problem description. Apparently ,we have to assume that. Well thanks for the reply. Cheers!
@techdose4u4 жыл бұрын
Yea it was not clear.
@gladyouseen81603 жыл бұрын
Sir can we solve this problem using state machine?
@kunalsoni76814 жыл бұрын
Sir really very amazing 😍😊 video and explanation is seriously beautiful and 😍😍😍
@techdose4u4 жыл бұрын
Thanks :)
@vaibhavaggarwal68083 жыл бұрын
is any iterative solution possible
@hoyinli74623 жыл бұрын
thx for ur video!
@shaswatdas65534 жыл бұрын
You should upload on Box stacking DP problem. No good content is available on this topic. Thanks in advance!! ❤️
@techdose4u4 жыл бұрын
Okay I will try
@shaswatdas65534 жыл бұрын
@@techdose4u thanks!❤️ Can you do it sooner?😅 Interview date is near.
@xiaoweidu466710 ай бұрын
Fantastic!
@chaitanyabalanagu626 Жыл бұрын
divide and conquer @ 14:16
@PawanKumar-tu6ti2 жыл бұрын
thank you sir.
@tilakrajrao27534 жыл бұрын
what will the overall time complexity of memoization approach ??? please do reply
@toose83882 жыл бұрын
Isn't this divide and conquer approach O(n^2)? As you have to loop over each element, and for each element check all elements to its left and right? In fact, my implementation of this method exceeds time limit on leetcode...
@prateeksinghal6304 жыл бұрын
Can you please tell the time complexity of the memoized solution for this problem !!
@seal01184 жыл бұрын
how did you know all this, sir? is there a book that teaches you how to tackle these problems ?
@techdose4u4 жыл бұрын
There is no such book 😅
@seal01184 жыл бұрын
@@techdose4u but sir, this is very unintuitive for me, how do i learn about all this?, this is the first time i see dp problem with more than 1 state
@souravsaha34463 жыл бұрын
Nice sir but in real practice we can sell a stock before buying .Thank you for amazing explanation
@VS-cy8oy4 жыл бұрын
I have doubt, how do we come up with divide and conquer approach. i mean, How do we come to know that create left and right array with values and summing up them will give us the result.Is there any logical sequence behind this summing technique, from left to right i understood, but from right to left i am unable to get on what ground we are confirmed that taking max will work. I am confused in that, Will be huge help if you can clear this doubt please. I have solved it with recursion, but that wasnt accepting on IB, so i came across your d&c approach, please clear this doubt, thanks and really appreciate your work..
@SushilKumar-wt7js4 жыл бұрын
in memoization case time complexity would be O(2*3*n) => O(n) right?
@agnesakne44092 жыл бұрын
I don't know
@tharunkumarreddy12242 жыл бұрын
could someone explain difference between buy and sell stock2 problem and buy and sell stock 3 problem
@utkarshpanwar23584 жыл бұрын
how can i see the implemented class behind the function on leetcode . please help me
@techdose4u4 жыл бұрын
I don't think you can.
@utkarshpanwar23584 жыл бұрын
@@techdose4u but i did many times now i forgot how i did that or may they removed that option
@utkarshpanwar23584 жыл бұрын
@@techdose4u you are doing good may i suggest you something which i feel you should work on that related to presentation
@vivekbudge97064 жыл бұрын
@@utkarshpanwar2358 check successfully submitted solution, there are bars....for all usecases... click b on bar ... it will show underline program
@golekhabhoi73562 жыл бұрын
After buying a stock fall in - 5% what is the calculatin of profit and loss kingly guide me
@jimsmith47394 жыл бұрын
@techdose Why are we going from end to middle in case of the right side from center and why not go just like he left side which is (along the timeline and not against)
@Arunkumar-bo2wc2 жыл бұрын
Amazing
@aleaf355 Жыл бұрын
Please add timestamps for long videos
@techdose4u Жыл бұрын
Sure
@witty_idipt4 жыл бұрын
can you please tell how time complexity of state machine code will be O(n)
@Kevin-gf8mq4 жыл бұрын
Why do we need 3 states? At end of the day, there're only 2 states anyway, either hold cash or hold stock.
@yashjain9924 жыл бұрын
This is gold!!
@techdose4u4 жыл бұрын
😁
@abhishekkumargupta30434 жыл бұрын
why going backwards works?
@abhishekkumargupta30434 жыл бұрын
Ok, so i understand it. (* starts crying in background).
@techdose4u4 жыл бұрын
??
@abhishekkumargupta30434 жыл бұрын
@@techdose4u why going backwards (i.e. selling first and buying later) or reversing timeline for 2nd array works?
@ankushroy9194 жыл бұрын
i dont understand why u are moving in opposite direction we can also move from the i th position towards nth position
@mhaesh4 жыл бұрын
Nice explanation. Can you please make video for Best Time to Buy and Sell Stock with transaction fee
@MagicalCreationAviCreation4 жыл бұрын
Sir I am solving leetcode challenges since from 1 and half month , but some of problem I can't able to solve by my own ,once I watch solution then I think that I don't know even simple logic also, then i feel sad, then i close the laptop, sir can you give me any suggestions I want to become like u sir,
@techdose4u4 жыл бұрын
Just spend some time about thinking the problem. Try harder each time. If you can't solve then read editorials and try to code yourself. You will definitely improve :)
@MagicalCreationAviCreation4 жыл бұрын
@@techdose4u yeah I will definitely do sir,thank you sir
@ayushgarg59294 жыл бұрын
Shortest Code Ever:- int maxProfit(vector& prices) { int n=prices.size(); if(n==0) return 0; int k1=0,k2=0,b1=-prices[0],b2=-prices[0],K1,K2,B1,B2; for(int i=1;i
@shaheenrafiq59743 жыл бұрын
It's almost like you've hacked the human brain. *_* Cant believe I understood it in a single go!
@starc7014 жыл бұрын
sir one request from deepest of my heart ,and soul . can u make its 4th part, which i consider the toughest among all. plz sir , plz i beg u.plz make it , placement session is going on.
@techdose4u4 жыл бұрын
Okay I will make it.
@starc7014 жыл бұрын
@@techdose4u and sir in ur telegram channel u said to ask questions there, but how can we message in a channel, telegram doesn't allow that, plz create a group sir, thank you very much sir
@techdose4u4 жыл бұрын
I have created both group and channel. Join both. They have different uses.
@starc7014 жыл бұрын
@@techdose4u oops i only saw the channel link, now i got it.
@ArbitCode4 жыл бұрын
which software do you use sir? is it openboard
@techdose4u4 жыл бұрын
Wacom pro sketch.io
@thinkverse944 жыл бұрын
One Query. Please Clarify @TECH DOSE for example, prices = [1,2,3,4] If we partition in price=2, ([1,2] [2,4]) OR ([1,2] [3,4]) ...which one is correct? My question is, in the same day can we sell the stock first and buy the stock ? (i.e. [[1,2] [2,4]] / [[1,3][3,4]] / ...... ) Or, Sell and buy must be in diff day ?