From e143ea5053e9ac108721efc126a60ac876624b7f Mon Sep 17 00:00:00 2001 From: Shivaji Potnuru Date: Fri, 19 Jun 2020 21:28:11 +0530 Subject: [PATCH] Stacks Assignment Solutions --- .../Check redundant brackets.java | 39 +++++++++++++ .../Minimum bracket Reversal.java | 58 +++++++++++++++++++ Stacks Assignment/Stock Span.java | 30 ++++++++++ 3 files changed, 127 insertions(+) create mode 100644 Stacks Assignment/Check redundant brackets.java create mode 100644 Stacks Assignment/Minimum bracket Reversal.java create mode 100644 Stacks Assignment/Stock Span.java diff --git a/Stacks Assignment/Check redundant brackets.java b/Stacks Assignment/Check redundant brackets.java new file mode 100644 index 0000000..b46ed2b --- /dev/null +++ b/Stacks Assignment/Check redundant brackets.java @@ -0,0 +1,39 @@ +import java.util.Stack; + +public class solution { + + public static boolean checkRedundantBrackets(String s) { + // Write your code here + Stack st = new Stack<>(); + char[] str = s.toCharArray(); + + for (char ch : str) { + + + if (ch == ')') { + char top = st.peek(); + st.pop(); + + boolean flag = true; + + while (top != '(') { + + if (top == '+' || top == '-'|| top == '*' || top == '/') { + flag = false; + } + top = st.peek(); + st.pop(); + } + + + if (flag == true) { + return true; + } + } else { + st.push(ch); + } + } + return false; + + } +} \ No newline at end of file diff --git a/Stacks Assignment/Minimum bracket Reversal.java b/Stacks Assignment/Minimum bracket Reversal.java new file mode 100644 index 0000000..9a7b91f --- /dev/null +++ b/Stacks Assignment/Minimum bracket Reversal.java @@ -0,0 +1,58 @@ +import java.util.*; + +public class Solution { + + + // Function returns -1 if brackets can't be balanced + public static int countBracketReversals(String expr){ + + // Write your code here + int len = expr.length(); + + // length of expression must be even to make + // it balanced by using reversals. + if (len%2 != 0) + return -1; + + // After this loop, stack contains unbalanced + // part of expression, i.e., expression of the + // form "}}..}{{..{" + Stack s=new Stack<>(); + + for (int i=0; i st =new Stack(); + // st.push(1); + int span[] =new int[price.length]; + for(int i=0;i