It seems so long video, but same video is repeating again... watch till 26:47
@RathourShubham
4 жыл бұрын
he should pin this comment.
@abhishekranjansingh5348
4 жыл бұрын
I anyone sees this message , just like it to the maximum extent so that the comment gets some importance.
@sudhanshusharma9123
4 жыл бұрын
Thank you so much man. This scared me in the starting thinking that printing LCS is so tough considering the duration of the video
@KANHAIYAKUMAR-qi7gx
3 жыл бұрын
Thanks @surinder kumar I used to skip this video for last 2 months because of its length.
@Rahulkumar-sk5yd
3 жыл бұрын
@@KANHAIYAKUMAR-qi7gx lol😅. Me too
@yashveernathawat8154
4 жыл бұрын
Modi Ji after meeting Aditya in Real Life :- Yeh DP wala hai kya ?????..
@TheAdityaVerma
4 жыл бұрын
😂😂😂😂😂😂😂😂😂
@uttharapallysaichandra3298
4 жыл бұрын
😂😂😂
@hemantmangwani1006
4 жыл бұрын
Sahi he. 😂😂😂😂😂😂😂😂😂 And after seeing these videos we say wah Aditya Bhai wah. , wah Aditya Bhai wah. And other Yotubers bole to bole kya Kare to Kare kya, wah Aditya Bhai wah. 😂😂😂😂😂😂😂😂😂
@AshishChourasia1996
4 жыл бұрын
Hahaha epic, also I gave u the 100th like 😁
@mtr2936
3 жыл бұрын
Aditya sir u r amazing
@ngtv5608
3 жыл бұрын
Need a playlist of GRAPHS !!
@ayushvats1808
3 жыл бұрын
yes 💯 please sir 🙏
@sarthakarora6496
2 жыл бұрын
@@ayushvats1808 did you find any?
@himanshugiri4214
2 жыл бұрын
yes please
@nishantsah6981
2 жыл бұрын
@@sarthakarora6496 i found One Ridhi dutta.... like its good...but if you get any better do tell
@mudrad1930
2 жыл бұрын
@@nishantsah6981 striver and codebix
@0anant0
4 жыл бұрын
23 of 50 (46%) done! Nice explanation of printing -- yes, there is a repetition of concept, but the second half explains it in more details, especially how we traverse up the t matrix (IMHO) to get the common chars.
@ultimatecreed5144
2 жыл бұрын
nice bhay
@valobhediya
2 жыл бұрын
@@ultimatecreed5144 *bhai
@bsmithun
3 жыл бұрын
Looks like for printing LCS, we can always use only the last row in the table. i = m-1; for (int j=0; j < n; j++) if (t[i][j] != t[i][j+1]) cout
@rahilsanghavi9347
2 жыл бұрын
That's a very good observation bro
@kartikeshwarhingole6007
2 жыл бұрын
Yeah, Bro your solution is absolutely correct. I used your method to find the longest sub-sequence string in leetcode problem "Longest Common Subsequence" , and then returned the length of the string to verify, and solution was accepted. Basically I just used the code of "Longest Common Sub-Sequence" and just utilised the last row for my answer. int dp[1002][1002]; class Solution { public: int longestCommonSubsequence(string s1, string s2) { int i, j, n=s1.length(), m=s2.length(); string s; for(i=0;i
@AnilabhaDatta
2 жыл бұрын
www.hackerrank.com/challenges/dynamic-programming-classics-the-longest-common-subsequence/problem wa in test2,3
@ayushk4142
2 жыл бұрын
why this doesn't work if we consider the last column consider the example shown in video itself at 16:39
@yutubegaming5340
3 ай бұрын
what happen if multiple lcs exist then you approach the problem ??
@@TheAdityaVerma this question is not complete right.
@debashishnanda9068
4 жыл бұрын
Best DP playlist on youtube!! You have really contributed to learning of students who struggle with Dynamic Programming. I too had observed similarities in DP questions, but as I am a beginner, I did not have enough experience to relate stuffs. You have made someone's life easier. Keep going, looking forward to more videos!!
@DharmicYoddha
4 жыл бұрын
did I just watch this solution 3 times? I got scared when I saw video length at first. 27 minutes makes sense given how you describe.
@indranilthakur3605
4 жыл бұрын
I got scared seeing the length of the video as 1 hr 20 mins.
@lordbaggot
4 жыл бұрын
same dude, I left it for 2 days, thinking it was too big :(
@saurabhmarpadge7498
4 жыл бұрын
@@lordbaggot same thing happend here too
@ShivamSingh-vh1xz
4 жыл бұрын
@@lordbaggot same here 😂😂
@saebalam2498
4 жыл бұрын
@@indranilthakur3605 same .....haha
@jeBHARATHKUMAR
2 жыл бұрын
my freinds used to say dp is tough in those days when i am beginner , now because of your playlist sir . i felt dp was not tough when we have teachers like you sir. in my 12th i used to link maths concepts so i dont need to remember new concepts, now you told us the dp in the same way which made the work easy 💌..thank you sir..
@LaxmikantRevdikar
3 жыл бұрын
a good optimisation in this solution might be to just iterate till following condition is true while constructing the answer in reverse order while(dp[i][j] > 0) instead of going till i or j is 0
@rohit2571
2 жыл бұрын
yes I already got that, Thanks for confirmation.
@aanjneytewari1554
4 жыл бұрын
I don't think i've seen better explanations, when it comes to dynamic programming. Sir, you are a life saver!
@subhadeephalder1480
4 жыл бұрын
Awesome videos. Ground concepts explained so vividly. Will be glad if videos on graphs are made.
@jayshree7574
4 жыл бұрын
I was really scared with the lenght, mentally preparing myself thanks for the comments guys. and thanks aditya pls pls pls do graph theory and greedy, 1 month hai placement me and I wnt a job really badlyy
@amanvijayvargiya3468
4 жыл бұрын
for graph you can prefer Tech Dose KZitem Channel. He is too good.
@AdityaMandil
4 жыл бұрын
Bro make a playlists for greedy Algorithms !!
@KumarAcademy
4 жыл бұрын
Yess atleast 15 questions
@raghavendraachyuthk9548
4 жыл бұрын
Yes
@manikantareddy7595
4 жыл бұрын
Yes
@adarsh6359
3 ай бұрын
Yes
@Adityakumar-nj6pk
4 жыл бұрын
Ur channel is best channel for placements preparation
@TheAdityaVerma
4 жыл бұрын
Thanks, do share if you like the content and help this channel grow. And yeah subscribe too 😅😅
@nikhilbhadragiri6134
4 жыл бұрын
@@TheAdityaVerma bro please help in solving one LCS typical problem give your WhatsApp number I will keep the question
@naiksachin6524
3 жыл бұрын
placement hua ?
@ayaztanzeem2475
4 жыл бұрын
Brilliantly explained. I am finding this channel very helpful. Thanks Bro and All The Best for future. Also, this video has one video running 3 times. Fix it, if posiible.
@TheAdityaVerma
4 жыл бұрын
IK, but unfortunately it cant be fixed now 😕
@TheAdityaVerma
4 жыл бұрын
Will upload more video in the month of may !! Till then keep on sharing and help this channel grow + that keeps me motivated to make more videos !! ✌️❤️
@praveenugiri
4 жыл бұрын
@@TheAdityaVerma Waiting for "May", Thanks Brother! Great Explanation!❤️
@gajawadaraviteja7087
4 жыл бұрын
@@TheAdityaVerma can you say which topic you are going to discuss , can you say date in May So that we can schedule that topic in may
@shashankjain4676
4 жыл бұрын
One of the best tutorials on KZitem for DP. God bless you. Please add playlist on Greedy algorithm, backtracking and Graphs if possible. Thx a ton
@thinkingmad1685
2 жыл бұрын
Hey can u help me regarding backtracking greedy any yt channel?
@mdbahauddin1252
4 жыл бұрын
Actually, this video ends at 26:51, by mistake it repeats 3 times and becomes 1:20:55
@amruthap6334
4 жыл бұрын
thank for this info
@MSCSJhabar
3 жыл бұрын
Thanks bro 👊
@ayushthakur733
3 жыл бұрын
Was first afraid after noticing the length of the video but after I started I understood the concept in 15 min 😂 you are the best teacher
@deepinderjeetsingh8356
4 жыл бұрын
I was not getting even single concept of DP from other channels, but after watching your videos on DP I am doing it daily with great interest. Also looking forward for videos on Graph Data structure.
@ajaynikalje3857
28 күн бұрын
You are helping me for DSA prep. Thanks. Another solution for this problem.
@ayushsharma-bw5ch
2 жыл бұрын
i used another approach and it worked fine :- 1)make dp of strings. 2)initialize with empty strings instead of 0. 3)when i-1==j-1 ,do dp[i][j]=dp[i-1][j-1]+string1[i-1] else do if(dp[i][j-1].size()>dp[i-1][j].size() ) dp[i][j]=dp[i][j-1] else dp[i][[j]=dp[i-1][j] 4)woah! done just return dp[n1][n2];
@udaytewary3809
Ай бұрын
Really thanks bhai I was also thinking the same but couldn't able to write the code correctly u helped me thanks
@okeyD90232
3 жыл бұрын
The way you taught in all previous videos , it didn't take me anytime to think of the solution and I could write the code in one go. But I watched this whole video to make sure I am not missing anything.
@prashantiiitd2705
2 жыл бұрын
JUST WANTED TO SAY - "THIS DP PLAYLIST IS A GEM", i recommend everyone to watch who faces difficulties in DP problems.
@prashantiiitd2705
2 жыл бұрын
and I also Wanted to say a Big Thank you to Aditya Verma bhaiya for making this playlist and uploaded on youtube as free for everyone.
@rollercoaster9719
Жыл бұрын
You can also use this logic the print lcs, that too i n correct order lol. took me a while to think it out string s; if(t[n][1]==1) s.push_back(text2[0]); for(int i=2;i
@surabhisingh9956
4 жыл бұрын
Been watching your videos since past 3-4 days and I'm sure I'm understanding each and every bit of it. Thanks a lot 😊
@soniamalik4929
3 жыл бұрын
DP requires so much effort to understand but once understood you will be the person with much powerful brain.
@dhruvbhati1347
Жыл бұрын
After seeing the length of this video my instincts said to me there might be a possibility of wrong editing... And it turned out true.. Lol. Great content sir, thank you 🙏❤
@prakhartiwari4916
3 жыл бұрын
we can directly store the strings in the matrix, we can initialise the 0th row and column with an empty string and when s1[i-1] == s2[j-1] we can do this - t[i][j] = s1[i-1] + t[i-1][j-1] else if(t[i-1][j].length() > t[i][j-1].length()){ t[i][j] = t[i-1][j]; }else{ t[i][j] = t[i][j-1]; } and print reverse of t[m][n] in the end
@akashtyagi7182
4 жыл бұрын
Thanks for dp series. For printing lcs, we can just take last row of dp table, and jaha jaha integer first time occurr hora hai, vo index string2 me se print karado, answer mil jaega.
@priyanshnigam5974
4 жыл бұрын
are you sure that it will work?
@Rahulkumar-sk5yd
3 жыл бұрын
Ya I also think so.
@democrats9579
3 жыл бұрын
This is good too.
@aaryapathania4109
2 жыл бұрын
It wont work in all the cases Eg: "MZJAWXU" & "XMJYAUZ" Expected output : "MJAU" Output using this method: "MZAU"
@srushtipawar7738
4 жыл бұрын
Best videos on dynamic programming so far.Please make videos on trees/graphs questions or important questions from leetcode and other coding platforms.
@ChandraShekhar-by3cd
4 жыл бұрын
Aditya , Your are SuperMan of the coding community..Please upload some more videos as we are having more freee time these days to learn and grasp new concept...Thanks
@shifalitayal3332
4 жыл бұрын
u are really a great mentor....plz make playlist on graph too...
@theuiniqueps10
4 жыл бұрын
You are god's gift to those who don't want to go/pay for coding institutes 🤠 Thanks for making this legendary dp playlist 😎♥️🎯
@prabhatpandey1638
4 жыл бұрын
Great going Aditya. I was always afraid of DP but you made it look so simple. I really needed someone to explain it from the start and found your playlist. Hats off to your teaching skills :)
@jyotis_12
4 жыл бұрын
Aditya Verma Sir aapne ne mere aur sayad jo bhi bachhe iss video ko dekhenge unn sab ka DP ka daarrr bhaga diya bohot sukriyaa...
@coderscode5364
4 жыл бұрын
segment tree and two pointer technique par video bnao......please aur aapki series superb hai ...it's really amazing
@mokshmalhotra7032
4 жыл бұрын
thanks again for your dedication I have a query .... while iterating backward Table and if the character at that position is not equal we have to choose the max of [(i-1 , j) , (i ,j-1)] and then we go to that position.... what if both the values are Equal??? we can take a relevant example ---> X= " abxyzc" , Y=" abkkkc"
@AnikashChakraborty
4 жыл бұрын
0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 1 2 2 2 2 2 0 1 2 2 2 2 2 0 1 2 2 2 2 2 0 1 2 2 2 2 2 0 1 2 2 2 2 3 Here is your dp matrix, and answer is correct which is abc
@mokshmalhotra7032
4 жыл бұрын
@@AnikashChakraborty thanks for your answer But my question was different...which has already cleared
@AnikashChakraborty
4 жыл бұрын
@@mokshmalhotra7032 I think I got the question and from the dp matrix you can see than after 3 you go to the upper left element and then keep on traversing till left or up (depends which condition is former) and then traverses till up or left(whichever condition is later) till it finds an equal element. Cool!
@mokshmalhotra7032
4 жыл бұрын
@@AnikashChakraborty ya...right I was confused at the first time...but then i tried to go in one direction and got the answer Btw ..thanks for reply ^_^
@vaibhavkumar267
3 жыл бұрын
I had a doubt, during the creation of table " t ", we do check for characters to be similar ( with this code : if a[i-1] == b[j-1] and then we do necessary increments for the LCS count ), then we can actually push the characters to a string at that very moment right ? Like instead of performing what Aditya just said in the above video. EDIT : My method was wrong, I dry run the code and checked, we will get multiple chars as well so the above approach is the right one .
@krishnapaltomar8768
3 жыл бұрын
I had same doubt thanks for editing and clearing it out
@siddhant_yadav
3 жыл бұрын
Same Doubt, Can u please Explain why there is Repetition of characters
@riturajghosh937
3 жыл бұрын
@@siddhant_yadav check for example: str1="abx", str2="xab", the main point is as we have to find the max length subsequence there can be multiple occurrences where str1.charAt(i-1)==str2.charAt(j-1) but that character does not contribute in the max length subsequence.
@motormaza_riders
3 жыл бұрын
but it says longest common subsequence, not substring
@tanmaysahare2353
2 жыл бұрын
Bhai bht hi jabardast padhate ho aap ek ek concept clear ho gai thanku so much it really helped it
@adityarajiv6346
4 жыл бұрын
really helpful brother!.also can you please tell me how to print longest common substring.?...and one more thing to this is that if multiple answers exist then choose the one with smaller starting index. thanks!.
@sgupta2512
6 ай бұрын
You can just add the strings directly to the table instead of length: def lcSubString(text1, text2): m = len(text1) n = len(text2) t = [["" for i in range(0, n+1)] for i in range(0, m+1)] for i in range(1, m+1): for j in range(1, n+1): if text1[i-1] == text2[j-1]: t[i][j] = t[i-1][j-1] + text1[i-1] else: if len(t[i-1][j]) > len(t[i][j-1]): t[i][j] = t[i-1][j] else: t[i][j] = t[i][j-1] return t[m][n]
@aniketraj_0520
2 жыл бұрын
We might not need to traverse the dp array again, as while matching the characters we can add the common characters in the string variable that we can create before the iteration. void printLCS(string &a, string &b, int n, int m) { vector dp(n+1, vector(m+1)); for(int i=0; i
@yogeshyadav8906
Жыл бұрын
i think we need to start from backtrack only because if the character is present multiple times in string then it will add it again to ans which we dont want unless it is present in both
@siddhantjaiswal5999
4 жыл бұрын
I was just scared because of the length of the video, the Way explains is incredible 👍 ❤ lots of Love from ITER,BBSR
@ayushbhalani7242
3 жыл бұрын
sir, you have explained the concept very well. but suppose we are given the strings as, s1= BQPQBPQ s2 = QPPBQ then there will be two longest common subsequences possible. first is QPBQ second is QPPQ (both are valid ) how can we get both the strings as an output?
@mrsukki8158
3 жыл бұрын
Brother in general out of 10 hindi words I can understand only 2 But in your teaching concepts taught me language What type of legend you are bhai❤️ Keep going ur explanation
@prajwalr6849
3 жыл бұрын
This problem can be solved in another method just like original LCS problem. Initialize first row and column with empty strings. As we iterate if match happens we keep adding the character and store the string itself in t matrix. last element will be the answer. For length we can just measure length of the final string. We can even print all possible subsequences easily by this approach. And we don't have to do anything after filling the t matrix.
@lovleshbhatt7797
4 жыл бұрын
Seriously aditya bhaiya please reduce the length of video, I love your videos I m following your DP series and I am feeling proud to say that I have understood alot and before you I watched video of ALL KZitemRS like CodeNcode, Abdul Bari, TakeUforward But When I understood the problem then after several weeks I just forgot the Solution, But You describe in such a way that we don't required to read this again THANK YOU, YOU ARE THE ONE OF THE BEST CREATURES OF GOD. But there is only One problem in video which is You are repeating so much and increase the length of video, Buddy please correct this
@TheAdityaVerma
4 жыл бұрын
Thanks brother, btw this video got repeated 3 times (editing error), just watch the first 30 minutes or so.
@saranghae3720
2 жыл бұрын
@@TheAdityaVerma thanks a lot bhaiya, for ur existence... : )
@kodeHubb
2 жыл бұрын
Bhai dil se sukriya padhaane k liye. ❤
@ishaankulkarni49
3 жыл бұрын
please dont stop making videos!! this playlist is genius!
@paruldhariwal
2 ай бұрын
best playlist I have followed till date!
@coolnikrox92
4 жыл бұрын
Nice Video Bhai. Just a minor suggestion which wont make much of a difference but the reverse part for getting the LCS isn't required. If we know the length of the sequence, we can just create a char array of length = lcs and start from the rightmost end/index of the char array and copy the characters which match accordingly. You are doing a wonderful job Bhai :) Cheers.
@kumarivandana1554
3 жыл бұрын
You can still make it better by writing in this way ans = a[i-1] + ans; where ans is the string to be returned.
@dragonoid296
2 жыл бұрын
@@kumarivandana1554 not as optimized because appending in the front takes O(n)
@bigfan9268
2 жыл бұрын
// Instead of adding 1 to the result we add the common // character to the end of the value we already have // else we just take whatever option has the longer string string longestCommonSubsequence(string s1, string s2) { int m = s1.size(); int n = s2.size(); string dp[m+1][n+1]; for(int i=0;i
@geetanshjindal5467
2 жыл бұрын
This is a much more intuitive method
@sudarshansingh7432
2 жыл бұрын
You can get the chars without using dp for n^2 complexity by just taking a string and appending at the end if true for the if condition.
@sudarshansingh7432
2 жыл бұрын
Moreover, a better approach would be to adding two lists and taking complement.
@ganavin3423
Жыл бұрын
bro, can you provide the link gfg ,leetcode
@pinkkitty6553
Жыл бұрын
how to get all the lcs ?
@pritishsaha7647
3 жыл бұрын
Awesome content now I understand how to proceed with such questions One more question what will be the code variation if it had been printing substring
@hritvikpatel9946
4 жыл бұрын
In the previous videos and also this one, to get t[i][j] we only use the previous row and all columns of the previous row, so can we not just use a 2D matrix of size t[ 2 ][ n ]?? This I think would apply to the other KnapSack problem variations also and it makes the space complexity linear from O( n^m ) What would you suggest?
@dontgiveup5271
3 жыл бұрын
Great video !! May I know how I can become as efficient as u & since how long have u been coding.....hope I get a reply
@sushruths1786
4 жыл бұрын
This channel is like the best channel for placement preparation, i have learnt so many concepts from this channel, which they never taught in college. Keep up this work and continue making more videos. These videos are really helpful. Thank you so much for these preparation skills.
@Kunalsingh-cd1yr
3 жыл бұрын
By just adding 1 line (define a string s and then write s = s + x[i-1] ) below choice diagram code)in code of longest common sub sequence , we can achieve the answer. Is there any problem i may face in this solution ? Here is my full code::-> x=input() y=input() n=len(x) m=len(y) t=[[-1 for x in range(m+1)] for y in range(n+1)] for i in range(n+1): for j in range(m+1): if(i==0 or j==0): t[i][j]=0 s="" for i in range(1,n+1): for j in range(1,m+1): if(x[i-1]==y[j-1]): s=s+(x[i-1]) t[i][j]=1+t[i-1][j-1] else: t[i][j]=max(t[i-1][j],t[i][j-1]) print(t[n][m]) print(s)
@cleweric
Жыл бұрын
We can do this in this following way too. Just a small change from original question. No need to create a dp array of int. vector dp(n+1, vector (m+1, "")); for(int i=1; i
@anonymousanonymous7507
10 ай бұрын
Did u use memoization? Because of initialising full table with " "
@priyarathore9266
3 жыл бұрын
Best DP course on internet!
@cripz4203
4 жыл бұрын
Can't we do this push operation when making the dp? in the if condition?
@lucygaming9726
3 жыл бұрын
I was thinking the same thing. Like that is very obvious, but is it correct?
@pranaypb8158
3 жыл бұрын
Here is the code for it string lcs_tabulation(string x, string y, int n, int m, std::vector &dp){ rep(i,0,n+1){ rep(j,0,m+1){ if(i==0 || j==0){ dp[i][j] = ""; } } } rep(i,1,n+1){ rep(j,1,m+1){ if(x[i-1] == y[j-1]){ dp[i][j] = (dp[i-1][j-1] + x[i-1]); } else{ dp[i][j] = ( sz(dp[i-1][j])>sz(dp[i][j-1]) ? dp[i-1][j] : dp[i][j-1]); } } } return dp[n][m]; }
@mickyman753
3 жыл бұрын
@@pranaypb8158 did this worked on geeks for geeks problem link
@shreyasaxena5169
3 жыл бұрын
@@mickyman753 do you have print lcs print problem link?
@mickyman753
3 жыл бұрын
@@shreyasaxena5169 problem link will be always in the video's description ,kzitem.info?event=video_description&redir_token=QUFFLUhqa0l0SGNFMVUxaTd4dFF6LXVzUk1TZ0dESThJZ3xBQ3Jtc0tseWtjMkttUG1EX216dlNYTDk1SDdQZ1V6UHJBM0dRbWJtaFoyRUV4ZVFSek1BYldZWDh1VS1MUExyNm5LWEYzNkY5NjdNM01wOFJKczdtWkdlc1ZpRGNMdnZmdkJEX0libDRuUzBKTTZOWHJpZHoyaw&q=https%3A%2F%2Fwww.geeksforgeeks.org%2Fprinting-longest-common-subsequence%2F
@sarcastic_army
7 күн бұрын
Bessssst Playlist ever on DP!!!!!!!!!!!!!!!
@rahulchudasama9363
4 жыл бұрын
The way you are teaching I think u will become the number one teacher. You teaching style is like koi apna banda baju me beth ke padha rha ho....
@mridulkumar786
4 жыл бұрын
Before watching your videos* Dp is out of my syllabus. After watching your video* I can teach dp now 😅
@mandeep2192
4 жыл бұрын
now kind of feeling some confident in DP. thnx to u bro... Brilliant efforts..
@devanshmesson2777
3 жыл бұрын
Thank you so much!! Best video on youtube for DP!!
@shubhamagarwal352
4 жыл бұрын
@Aditya verma can't we add matching characters in a string array at the same time while filling a 2d array under the first condition where elements from both string array matches?Why do we need to write separate code for it.🤔🤔
@shivamtiwari3672
3 жыл бұрын
can't we just add this line if(text1[i-1]==text2[j-1]){ t[i][j]=1+t[i-1][j-1]; cout
@parthpandey2695
9 ай бұрын
I understand the whole approach but it can be very simply solved when using the original code, basically wherever we are calling t[i][j] = 1 + t[i-1][j-1] just add print(x[i-1]) and you get the simple output as reverse of longest common subsequence order which you can reverse in multiple wayss ?? Correct me if I am wrong
@abhinavkumar848
3 жыл бұрын
videos me recursion code run kara diya h Aditya sir ne ;p Best DP course though, itne ache se I don't think koi bhi samjhata hoga,.
@Vendettaaaa666
4 жыл бұрын
You can also think of this approach like a Depth First Search and we choose "adjacents" based on the choices we previously made in the past to build the 2D array.
@devanshdixitmusicallyyours3885
Жыл бұрын
I wish he should has video on graph as well, we really need to study from u
@NeymarJr-nu6uo
2 жыл бұрын
Bro why creating table at once and printing string again during storing values into memory itself we can print our string if(a[i-1]==B[j-1] (cout
@_PAYALGAIKWAD
2 жыл бұрын
best dp course on the internet
@AlinaMirzaCS-
3 жыл бұрын
i just saw 19 min and got the code...really great playlist ..
@samirrobin3524
2 жыл бұрын
What an amazing playlist!! Thank you so much Aditya bhaiya❤️❤️
@ichigo138
3 жыл бұрын
Instead of reversing we can initialise the string sol = " " initially and when they are equal then update sol to CharAt(" str1") + sol and return sol at the end
@anandshukla790
3 жыл бұрын
or simply store in stack and print the stack
@motormaza_riders
3 жыл бұрын
will this work fine?
@samirpaul2
2 жыл бұрын
@@motormaza_riders ??
@parvahuja7618
5 ай бұрын
would really like a playlist on graphs but its fine whenever you get time please make one thankyou
@aryansinha1818
2 жыл бұрын
The video is till 26:00 only, man the thumbnail should change for a guy who is developing the habit of sitting down to study, this video length could be really scary and easily delay continuity. So much relief now. ohhh!!!!!! n one could easily learn something from this i.e. everything's a mind-set think of it as small everything changes and think of it as big, whoosh! power to accomplish decreases. LOL. So make the big small and go on!!. Btw thank you for the videos it helps a lot.
@lakshaychawla78
2 жыл бұрын
Nice explanations boss @Aditya Verma.. one thing in above question.. instead of having a separate while loop and then storing it in a string.. can't we store it while forming LCS matrix only when the equality condition arrives ??
@yashkunte2012
4 жыл бұрын
Its such a important topic ki bhai ne video me 2 bar revise kara diya hai ...amazing and simple to understand without any doubts
@AJ-gg1jc
4 жыл бұрын
we can use s.insert(s.begin(),a[i]) =>>>in case we use s as vector of characters..... and s = a[i] + s =>>> in case we use s as string..... Both will directly give reversed or accurate string or vector of chars in result....
@visheshrathi4752
2 жыл бұрын
The length of this video scared the shit out of me 😂. I was thinking of skipping it then I read the comments and I'm glad I did
@liveinspirationallife
3 жыл бұрын
bhai ji kamaal ho tusi...aar paar ki DP smjare ho
@anmolkapoor1068
3 жыл бұрын
Just loved your videos on DP ♥ but will there be any videos coming on graphs? 🥲
@divyasimhadri4677
9 ай бұрын
Thank you so much for these videos .
@suyashlokhande1981
3 жыл бұрын
Hey @Aditya Verma thanks for this explanation but we missed one case here Suppose a[ i-1 ] != b[ j - 1 ] and if ( t[ i ][ j-1 ] == t[ i-1 ][ j ] ) what next operation shall we perform? This case can come if you have more than 1 LCS
@pratikdas1780
Жыл бұрын
apply dp again to traverse all the paths. a hard gfg problem is based on this concept only.
@pinkkitty6553
Жыл бұрын
@@pratikdas1780 How to do this can you please elaborate ?
@shradhagupta8897
3 жыл бұрын
Aditya Verma you are freaking awesome..
@shubhamshastri5162
3 жыл бұрын
do same as LCS and also add these steps we can also store the index of anyone string (of which ith character is same as jth character of 2nd string)in a set, set because we get sorted index and only one occurance and then just print the particular index(which is in set) of the particular string .
@ManojKumar-wi2dn
3 жыл бұрын
the playlist is very nice just a request please give ques link in the description, you gave the discussion link of gfg and I can't find this question over there.
@mr.jyotiranjankalta8098
3 жыл бұрын
Brother when you get free time please remove the repetition part. Mashallh ye course itna achha hai ki mere pas tarif karne keliye word hi nahi hai. " Husn Walo Ko Sanwarne Ki Jarurat Kya Hai, Woh Toh Saadgi Mein Bhi Qayamat Ki Adaa Rakhte Hain" .
@oqant0424
3 жыл бұрын
hats off to your efforts!
@aggu90
3 жыл бұрын
Jab hum Matrix bana rahe hai tab hee hum ye string save krtey jaaye tab bhi to ho jaayega na? Waapis matrix iterate krne ki jrurt nhi hogi
@rishavkumar2182
4 жыл бұрын
Excellent videos...loved it
@akashmusic2202
5 ай бұрын
We can also just append equal characters to a string while doing LCS , no need of the extra calculation in the end . I'm a fan tho
@suvitsharma7432
3 жыл бұрын
just curious, what if t [ i - 1 ] [ j ] == t [ i ][ j - 1] ? which value will we take ? and why ? thank you in advance :)
@mohdamirkhan6571
3 жыл бұрын
Yes actually that's true. It's strange that nobody mentioned this. I was thinking about this the whole time while watching this video. Actually for this we can either perform recursion from [m][n] to when either m == 0 or n == 0. When t[i-1][j] == t[i][j-1] we perform 2 recursive calls, one for each indices (i-1, j) and (i, j-1) and form the output subsequences according. Also, in an iterative manner we can use a deque which stores i, j indices. Whenever we face t[i-1][j] == t[i][j-1], we push both indexes (i-1, j) and (i, j-1), one at the front and one at the back so as to not break the chain of subsequence lettering. Awesome explanation by Aditya.
@vaibhav.chaudhari
3 жыл бұрын
Thank you so much Aditya Bhaiya for making these videos! I've started to like DP now. I just wanted to clarify a doubt. Instead of us writing the matrix code to print the longest common subsequence, can't we directly add the char in the if (X[i-1]==Y[j-1]) { s.push_back(X[i-1]); t[i][j]=1+t[i-1][j-1]; } This will prevent us from writing the code at the end.
@nirajgusain4597
3 жыл бұрын
i am also thinking same.
@vaibhav.chaudhari
3 жыл бұрын
@@nirajgusain4597 we can. I ran the code
@Yash-uk8ib
3 жыл бұрын
@@vaibhav.chaudhari what if I have multiple LCS, will this work??
@vaibhav.chaudhari
3 жыл бұрын
@@Yash-uk8ib I think there can only be one LCS
@Yash-uk8ib
3 жыл бұрын
@@vaibhav.chaudhari ok sir
@srinathchembolu7691
9 ай бұрын
We can also return longest common subsequence directly from the function. The tested code using memoization is as shown #include string t[1001][1001]; string longestsub(string s1,string s2,int n,int m){ if (n == 0 || m == 0) return t[n][m] = ""; if (t[n][m] != "-1") return t[n][m]; if (s1[n-1] == s2[m-1]){ string lcs = longestsub(s1,s2,n-1,m-1); lcs.push_back(s1[n-1]); return t[n][m] = lcs; } else if (s1[n-1] != s2[m-1]){ string l1 = longestsub(s1,s2,n-1,m); string l2 = longestsub(s1,s2,n,m-1); if (l1.length() >= l2.length()) return t[n][m] = l1; else if (l1.length() < l2.length()) return t[n][m] = l2; } } string findLCS(int n, int m,string &s1, string &s2){ // Write your code here. for (int i = 0; i < 1001; i++) { for (int j = 0; j < 1001; j++) { t[i][j] = "-1"; } } string ans=longestsub(s1,s2,n,m); return ans; }
@ankitshaw5375
6 ай бұрын
Thank you man
@DeepakKumar-yc9hr
4 жыл бұрын
Love YOu Bro , Really Your Video is God Level
@myqalb123
4 жыл бұрын
Itnaaaaaaaa explained video...WOW thank you bhaiyya for all your efforts.
@mohitshoww
4 жыл бұрын
Bhai 1.20 dekh ke dar gaye the ki kya Hoga print LCS me .. 😂 Thanks for making these videos and all the best for flipkart.
Пікірлер: 735