Wonderful way of explaining the algorithm behind the program. Most channels only explain(show) the code. Please keep up this great work. Please do mostly asked Leetcode medium questions. Will be a great help. Thanks a lot.
Sorry to be off topic but does any of you know of a way to log back into an Instagram account..? I stupidly forgot the account password. I would appreciate any tips you can give me!
@Johnny Zyaire I really appreciate your reply. I found the site thru google and im in the hacking process now. Takes quite some time so I will reply here later when my account password hopefully is recovered.
One of the best intuitions I have ever seen. I love the way you take examples to derive the logic. Keep it up. And also thanks for delivering such a quality content on coding problems. You just earned a subscriber.
Very nice explanation better than other explanations out there which just throw terms like greedy etc. Giving concrete examples and explaining the algo through them makes it much easier to understand.
Your explanation is really good and with O(N) which is better. I solved this problem with different approach and I think the time complexity id O(N * k). Is that correct? Step 1: Parse the string left to right. Step 2: For each current char at i, See if there is a char lesser than the current char in window [i+1 to i+k]. If found, decrement the k and skip the char. Otherwise add to the result. Here is the code: public String removeKdigits(String num, int k) { if(num == null || num.length() == 0 || num.length() 0){ builder.delete(builder.length()-rem, builder.length()); } String res = builder.toString(); return res.length() == 0? "0" : res; } int getMinIndex(char val, int start, int end, String num){ if(end >= num.length()){ return -1; } for(int i = start; i
Awesome explanation! Thanks! As per the explanation, just remember this: Remove previously seen peak elem to flatten the curve. When graph dips, we have already seen a peak.
Pretty good explaination bro ! I was able to solve it in my mind but couldn't put it in code . DIdn't think about first-come maxima approach . Cheers (y)
Initially I thought this is a DP problem because I thought we have to consider all possible cases and the do the DP thing... but this approach is really wonderful.
One thing to notice here if the elements keeps on increasing as he said it will form the smallest number possible that means we will have the higer value digits at the end so we can remove them easily with the help of the stack
Thanks. I hate your 4's but the overall the video was quite helpful. I solved 402 with a different approach, but wanted to see how the stack based approach worked. No I know.
I got a goodone idea to solve this say we have the number 71382 and k=2 so what we can do is that to divide the digit by its index number, index number must be starting from 0 ie for 7 index number should be 1 not 0 and so on,, then after we got the list of the divided result we can just chose the minimums possible and then we can include only those in return value, me testing this got all correct result for almost all cases
I've been into problem-solving for over a year, and this is the best channel I have seen. the channel is better than Love Babbar, TUF, Anuj Bhayya, and all the members out there
How does one come up with such intuitive solutions? I tried to come up with multiple solutions but was not even close to this solution. I tried to solve this question using priorityQueue, HashMaps, expanding from center of the string.
Sir ji aap great ho. Is there any way we can contribute even a little towards your hard work ?? Sir please let us know. And again, thank you so much for such a wonderful explanation 💙
@@techdose4u its okay Usually, I complete the task in the noon and compare our solutions in the night But this i couldn't do it, so I was waiting for your solution 😂😘😘
Sir the example at 12:00 mins of number 14301620 Nd k=4...the answer if the think on pen n paper should be 1010....but why it is 120 ?.... technically thinking the answer should be 1010 after removing 4 digits ...
@@saianushachodapaneedi7504 If you add 0 in stack, while displaying result it will have leading 0, in the example shown by LC they removed leading zeroes so we can ignore leading 0s as mentioned here or parse the string integer and back to string so that leading 0s are gone. In order not to put extra effort, ignoring leading zeroes will suffice the requirement.
If the problem statement is reversed and we have to find the maximum number after deleting k digits, would we do the opposite by looking for where it rises instead of dips from left to right?
In 10:58 , what if the next element of zero is 2 Instead of 1 , then our results first number should be 1 . But we would have already removed it . I think it will fail for that scenario
I am a bit confused about this problem. lets say we have the number 143. When we delete 4, 1 takes its place since the new number will be 13 and 1 is in the tens place where 4 was. So why do we look at the number right of the number we delete if the left number takes its place?
How do you recognize that this question can be solved by monotonic stack? I'm completely blank after seeing this question!. Only thought came to my mind is of dp, but seeing the constraints killed my initial thought of dp.
do you have any sort of material which can give proof of these algorithms? like build the lowest number & finding the next permutation. Though I know how to solve these problems, but I stuck at proof.
No material available with me. I don't think we need proof for simple problems like these. For complex problems there is confusion and when we don't really understand why the given algo works then proof is required. But I don't think this problem requires it 😅
You are doing too much hard work dude.Wish you best of luck for your future endeavours.
Thanks :)
Did you just fire the guy lol
Great job though Tech Dose, well explained!
Hey there, I am from year 2022, I came back in time to give you good news that ,Surya sir(tech dose founder) has joined Google.🥳
@@nirajgusain1452 wow ! 🎉
Can't be explained better than this... Million times thanks for making these questions so simple :)
Wonderful way of explaining the algorithm behind the program. Most channels only explain(show) the code. Please keep up this great work. Please do mostly asked Leetcode medium questions. Will be a great help. Thanks a lot.
Welcome :)
Sorry to be off topic but does any of you know of a way to log back into an Instagram account..?
I stupidly forgot the account password. I would appreciate any tips you can give me!
@Dallas Gannon instablaster :)
@Johnny Zyaire I really appreciate your reply. I found the site thru google and im in the hacking process now.
Takes quite some time so I will reply here later when my account password hopefully is recovered.
@Johnny Zyaire it did the trick and I now got access to my account again. Im so happy!
Thanks so much you saved my account :D
One of the best intuitions I have ever seen. I love the way you take examples to derive the logic. Keep it up. And also thanks for delivering such a quality content on coding problems. You just earned a subscriber.
Thanks
The explanation was really awesome bro. Gave a whole new perspective to look at numbers. Really appreciate the effort. Sincerely, thank you.
Welcome :)
Explain
Perfect, clear explanation to a problem that I've been stuck on. Thanks so much!
Welcome :)
Very nice explanation better than other explanations out there which just throw terms like greedy etc. Giving concrete examples and explaining the algo through them makes it much easier to understand.
Yes....term confuses students 😅
this channel should have millions of subs.
Thanks bro :)
This channel work so hard i wish this channel should have millions of subscribers
God level explanation bro. Been watching your videos since a month and they are all brilliant. Will definitely donate once I land a job :)
Thanks for your appreciation.
This is absolutely mind blowing. Couldn't think of this approach.. 😭😭😭 Also so many edges cases to handle... But great great video.
It was such a great explanation. Half way through the video and I knew what to do. Keep up the good work.
Your explanation is really good and with O(N) which is better.
I solved this problem with different approach and I think the time complexity id O(N * k). Is that correct?
Step 1: Parse the string left to right.
Step 2: For each current char at i, See if there is a char lesser than the current char in window [i+1 to i+k]. If found, decrement the k and skip the char. Otherwise add to the result.
Here is the code:
public String removeKdigits(String num, int k) {
if(num == null || num.length() == 0 || num.length() 0){
builder.delete(builder.length()-rem, builder.length());
}
String res = builder.toString();
return res.length() == 0? "0" : res;
}
int getMinIndex(char val, int start, int end, String num){
if(end >= num.length()){
return -1;
}
for(int i = start; i
your time complexity is N^2 and space complexity is also N
nice .. this is a good explanation. the good part is you are telling more examples that make more sense for everyone.
Thanks :)
Awesome explanation. You’re doing a great job in helping the community.
Your explanations are best I have found on UA-cam.
Thanks :)
I wish I could like this video more than once. Thanks for your explanation. You are good!
Thanks 😊
Thank you, I was tyring to learn it since a long time but your tip example explained it all.
nice 👌🏽
Awesome explanation! Thanks! As per the explanation, just remember this: Remove previously seen peak elem to flatten the curve. When graph dips, we have already seen a peak.
Dude, congrats on 100K. You deserve it
Welcome 😄
Great explanation brother. Understood each and every step. Keep doing great work.
Thanks :)
Pretty good explaination bro !
I was able to solve it in my mind but couldn't put it in code .
DIdn't think about first-come maxima approach .
Cheers (y)
Nice
Glad i got the stack approach by myself even though my code was way messier than yours ^^
Many were not able to solve this. Glad that you did :)
Can you please explain why in line 15 he consiered only when stack is not empty?
Sir , the way you explain is absolutely amazing !! . Wish i had a teacher like you . Greatwork Sir !! :) :)
Thanks :)
Became fan of your explanation! Much much appreciated!
Thanks :)
An inspiration for anyone who wishes to learn or teach DSA
👍🏼
I'm so happy that I found your video. I understood it very well. Thank you very much sir.
Welcome :)
great explanation, easy to follow and understand. thanks
Welcome :)
wonderfull way of explaining..
Thanks :)
Very good explanation and visualization
Thanks
wonderful video. Great explanation of code and intuition. Keep up the good work
great job, thanks for good quality of explanation
Welcome 😊
Nice content.
Keep on making such videos
Man, wonderful explanation.. Highly appreciated.. 💞💞
Thanks :)
extremly datailed explanation..thank you so much!!
Welcome :)
Simply Awesome! Keep Growing!!
Thanks :)
This is an amazing explanation! Nice question, thanks.
Welcome :)
kya baap tarike se sikhaya bhai. Mja aagya. Thanks man
❤️
Great explanation sir, Thanku so much
Welocome :)
Amazing intuition explained. Thank you
great explaination
This is a phenomenal explanation!!
Wat an explanation, absolute gem
Initially I thought this is a DP problem because I thought we have to consider all possible cases and the do the DP thing... but this approach is really wonderful.
It could have been dp problem if you thought about recursively solving this.
Great Explanation
Thanks 😊
starting the day with your video
;D
Best concise explanation
Simple and perfect explanation!
Very Well Explained sir 🔥👍🏻
Thanks :)
One thing to notice here if the elements keeps on increasing as he said it will form the smallest number possible that means we will have the higer value digits at the end so we can remove them easily with the help of the stack
Yes correct :)
Nice Explanation! Thank you 😄
Bhai thanks alot for sharing
Algo
Code and
Explanation
Welcome :)
Beautifully explained.
Great approach
Thanks :)
Perfect implementation !!
Thanks :)
man what a brilliant explanation
nice work sir, please keep it up. Kudos
Thanks :)
Thanks for clear explanation !!
Welcome :)
Nicely explained..
Thanks:)
Amazing 👌 explaination
Thanks :)
Lucid Explanation!!
Thanks 😊
Amazing👌
Thanks :)
Great Video
good explaination
Nice Explanation
good explanation
Wow such a beautiful problem!
Very well explained
Thanks :)
Best explanations ever
Thanks :)
Thanks. I hate your 4's but the overall the video was quite helpful.
I solved 402 with a different approach, but wanted to see how the stack based approach worked. No I know.
😅
I got a goodone idea to solve this say we have the number 71382 and k=2 so what we can do is that to divide the digit by its index number, index number must be starting from 0 ie for 7 index number should be 1 not 0 and so on,, then after we got the list of the divided result we can just chose the minimums possible and then we can include only those in return value, me testing this got all correct result for almost all cases
nice explanation! keep it up :D
Thanks :)
I've been into problem-solving for over a year, and this is the best channel I have seen.
the channel is better than Love Babbar, TUF, Anuj Bhayya, and all the members out there
thanks so much, great explanation!
Thanks
That was amazing,
Thanks :)
Amazing sir
Thanks
How does one come up with such intuitive solutions? I tried to come up with multiple solutions but was not even close to this solution.
I tried to solve this question using priorityQueue, HashMaps, expanding from center of the string.
amazing explanations man...
Thanks :)
Sir ji aap great ho. Is there any way we can contribute even a little towards your hard work ?? Sir please let us know. And again, thank you so much for such a wonderful explanation 💙
You love and motivation is everything I need :)
@@techdose4u We love you 3000 Sir 🥺 keep up the good work and we'll always make you proud.
Thanks :)
Amazing stuff! Thank you.
Welcome :)
Thank you very much!
Welcome :)
I was waiting for your explanation,
:) This video was little longer and I was very tired after office 😅
@@techdose4u its okay
Usually, I complete the task in the noon and compare our solutions in the night
But this i couldn't do it, so I was waiting for your solution
😂😘😘
As in, so i was
😅
me tooo....
pure genius!
👌
👍
nice explanation ❤❤
Thanks :)
Nice and clean :)
This helps alot ThankYou sir
Welcome :)
Java solution using Stack:github.com/RajeshAatrayan/InterviewPreparation/blob/master/src/Stacks/RemoveKDigits.java
Thanks for sharing
@@techdose4u As always 🔥
But you didn't answered my question
Good
hey, can you please tell me about how you are wrinting are you using digital pen and which software you are using for writing
Too Good!
Thanks :)
Sir the example at 12:00 mins of number 14301620 Nd k=4...the answer if the think on pen n paper should be 1010....but why it is 120 ?.... technically thinking the answer should be 1010 after removing 4 digits ...
Removing leading zeroes are not counted as removed digits. This is the special case to be handled 😅
1st valley(4-3) 2nd (3-0) 3rd(1-0) 4th(6-2) so, we get -0120
Even I got the same doubt...what's wrong if 0 also added in stack...then output will be 0120.. please clarify my doubt
@@saianushachodapaneedi7504 If you add 0 in stack, while displaying result it will have leading 0, in the example shown by LC they removed leading zeroes so we can ignore leading 0s as mentioned here or parse the string integer and back to string so that leading 0s are gone. In order not to put extra effort, ignoring leading zeroes will suffice the requirement.
If the problem statement is reversed and we have to find the maximum number after deleting k digits, would we do the opposite by looking for where it rises instead of dips from left to right?
good explanation man
Thanks man :)
In 10:58 , what if the next element of zero is 2 Instead of 1 , then our results first number should be 1 . But we would have already removed it . I think it will fail for that scenario
Man you are doing very good work keep it up
Also I did the same in C but C is very messy TBH should I go for c++ or python?
C++ has lower runtime in general. So go with C++
I am a bit confused about this problem. lets say we have the number 143. When we delete 4, 1 takes its place since the new number will be 13 and 1 is in the tens place where 4 was. So why do we look at the number right of the number we delete if the left number takes its place?
How do you recognize that this question can be solved by monotonic stack? I'm completely blank after seeing this question!. Only thought came to my mind is of dp, but seeing the constraints killed my initial thought of dp.
please make a video on heavy light decomposition and centroid decomposition
Sure....will add it to my to-do list
0:00 - 8:59
do you have any sort of material which can give proof of these algorithms? like build the lowest number & finding the next permutation. Though I know how to solve these problems, but I stuck at proof.
No material available with me. I don't think we need proof for simple problems like these. For complex problems there is confusion and when we don't really understand why the given algo works then proof is required. But I don't think this problem requires it 😅