Valid Parentheses (LeetCode 20) | Full solution with visuals and animations | Stack Data Structure
Vložit
- čas přidán 26. 07. 2024
- Actual problem on LeetCode: leetcode.com/problems/valid-p...
Chapters:
00:00 - Intro
00:52 - Problem Statement
03:08 - Understand valid parentheses
06:43 - Using stacks for efficiency
11:21 - Dry-run of Code
13:45 - Final Thoughts
📚 Links to topics I talk about in the video:
Stack Data Structure: • Stack Data Structure e...
Other problems on Strings: • Trees
📘 A text based explanation is available at: studyalgorithms.com
Code on Github: github.com/nikoo28/java-solut...
Test-cases on Github: github.com/nikoo28/java-solut...
📖 Reference Books:
Starting Learn to Code: amzn.to/3sJm8Wl
Favorite book to understand algorithms: amzn.to/4848xJH
Favorite book for data structures: amzn.to/3P96YBv
Get started for interview preparation: amzn.to/44Nn5du
🔗 To see more videos like this, you can show your support on: www.buymeacoffee.com/studyalg...
🎥 My Recording Gear:
Recording Light: amzn.to/3PdsViT
Microphone: amzn.to/3Exv83x
Recording Camera: amzn.to/3PwyN8e
Tablet to sketch and draw: amzn.to/3ZdKVy7
Sketching Tool: amzn.to/45XJEgY
Laptop to edit videos: amzn.to/460ofDu
💻 Get Social 💻
Follow on Facebook at: / studyalgos
Subscribe to RSS feeds: studyalgorithms.com/feed/
Join fan mail: eepurl.com/g9Dadv
#leetcode #programming #interview
Love You Sir, Got A Internship. 6 months of struggle. Got Pass my DSA test. Thanks.
all the very best...congrats 😄
Bhai mujhe guide kardo yaar konsi company main internship mili or kaise mili kya criteria tha?
thanks,sir, really loved your CLEAR STEP by step explanations.
Keep up the Great work Sir, Thank you
Very informative . Love you Man
You are the best for sure
By Watching Your Videos now. I solved problems in efficient complexity. Thanks.
Excellent!
great explanation😄
Sir very clear explanation 👌
thank you so much 🙏🙏🙏
Thank you sir. im confused from 4 days
Amazing Bro . keep it up💘.
Thanks 🔥
Thanks
Explaination is at par level .
Sir please make some video on design patterns …it will be helpful… and thanks for wonderful videos on DSA
design patterns, system design, graphs...these are the next series of videos in my pipeline..stay tuned!!
Thank you! You’re awesome!
Can you please also upload a solution of Leetcode 200?
yes, that is a very popular problem indeed. Will make a video soon
Very informative video… could you please make a DSA playlist from a scratch
what kind of videos are you looking for? I have videos on stacks/queue, other data structures...
Greak Work Sir
Thanks
@@nikoo28 Sir please answer my one doubt , are we not required to return true?? why was there no returning of true? else how will we get it
ohh got it ,thanks sir understood the last part
hi nikhil, there is a line else which made me confused,
if(is.empty || stack.pop()!=c) why did you write the condition is.empty?? wont it be !is.empty() since if its empty, we are gonna be returning true??
We are doing this to check if the stack becomes empty without matching all the brackets.
@@nikoo28 That is only possible when input contains numbers or letters Is not input always contains parenthesis or brackets ?
Check the problem constraints
sir can you do videos on solving contest problems every week
I post a new video every week :)
Sir, Which Tree can I learn. I Know about BST and AVL. Can You guide me for More Trees.
Bhai kafi h yaar bas rulayega kya itna hi karle aur question practice kar bas aur kuch nhi mostly tujhe bst pe bt pe bhi sawal milega avl rare h
exactly, you don't need so much. BST and binary trees are usually enough.
sir Please I know about BST and AVL but What are other Binary trees.
@@abhi_coder6 yaar to sai khta ha lekin smj nai a rai or konsay binary trees.
@@arslanmuhammad4190 solve more problems on binary trees, just understanding the concept is not enough. Try to find the lowest common ancestor, least paths, backtracking in trees etc.
sir When You are going to work on Graphs.
very soon. My next week video will be on introduction to graphs
@@nikoo28 Thanks Sir
The complete playlist on graphs is now available: czcams.com/play/PLFdAYMIVJQHNFJQt2eWA9Sx3R5eF32WPn.html
Can you please provide solution for Human Readable Time
Can you provide me a link to the problem?
class Solution {
public boolean isValid(String s) {
//valid parentheses would mean that all types of opening parentheses are correctly matched with their corresponding closing parentheses, and they are properly nested within each other.
Stack stack = new Stack();
for(char par : s.toCharArray()){
if(par == '('){
stack.push(')');
}else if(par == '{'){
stack.push('}');
}else if(par == '['){
stack.push(']');
}else if(stack.pop() != par){ this code is also working , but i dont know why at last else if condition we want 2 condition to check. can any one explain
return false;
}
}
return stack.isEmpty();
}
}
@user-ei3ng5kt4n check for this input String s =")";
Hi Nikhil, Your solutions are amazing. But for this particular problem, I feel this can be done in a better way instead of complicating it with a stack data structure. Please find my solution which was advised to me in an interview at Apexon UK. I find the solution to be intuitive and very simple.
private static boolean isBalancedParanthesis(String s){
do
{
if(s.contains("()")) s = s.replace("()", "");
if(s.contains("[]")) s = s.replace("[]","");
if(s.contains("{}")) s = s.replace("{}", "");
}while(s.contains("[\\W]+"));
if(s.length()>0) return false;
else return true;
}
that works as well, but I was also trying to give an idea about how to solve mathematical expressions also. :)
You are also relying on "contains" functionality.
@nikoo28 I don't mean to discredit you. Because I learn a lot from you. And this solution I posted just in case someone's looking for an easy solution. Anyway your videos are all amazing and you are really doing a great work