File tree Expand file tree Collapse file tree 2 files changed +85
-0
lines changed
main/java/com/fishercoder/solutions
test/java/com/fishercoder Expand file tree Collapse file tree 2 files changed +85
-0
lines changed Original file line number Diff line number Diff line change 1+ package com .fishercoder .solutions ;
2+
3+ import java .util .Stack ;
4+
5+ /**
6+ * 1249. Minimum Remove to Make Valid Parentheses
7+ *
8+ * Given a string s of '(' , ')' and lowercase English characters.
9+ * Your task is to remove the minimum number of parentheses ( '(' or ')', in any positions )
10+ * so that the resulting parentheses string is valid and return any valid string.
11+ * Formally, a parentheses string is valid if and only if:
12+ * It is the empty string, contains only lowercase characters, or
13+ * It can be written as AB (A concatenated with B), where A and B are valid strings, or
14+ * It can be written as (A), where A is a valid string.
15+ *
16+ * Example 1:
17+ * Input: s = "lee(t(c)o)de)"
18+ * Output: "lee(t(c)o)de"
19+ * Explanation: "lee(t(co)de)" , "lee(t(c)ode)" would also be accepted.
20+ *
21+ * Example 2:
22+ * Input: s = "a)b(c)d"
23+ * Output: "ab(c)d"
24+ *
25+ * Example 3:
26+ * Input: s = "))(("
27+ * Output: ""
28+ * Explanation: An empty string is also valid.
29+ *
30+ * Example 4:
31+ * Input: s = "(a(b(c)d)"
32+ * Output: "a(b(c)d)"
33+ *
34+ * Constraints:
35+ * 1 <= s.length <= 10^5
36+ * s[i] is one of '(' , ')' and lowercase English letters.
37+ * */
38+ public class _1249 {
39+ public static class Solution1 {
40+ public String minRemoveToMakeValid (String s ) {
41+ //TODO: implement it
42+ return "" ;
43+ }
44+ }
45+ }
Original file line number Diff line number Diff line change 1+ package com .fishercoder ;
2+
3+ import com .fishercoder .solutions ._1249 ;
4+ import org .junit .BeforeClass ;
5+ import org .junit .Test ;
6+
7+ public class _1249Test {
8+ private static _1249 .Solution1 solution1 ;
9+
10+ @ BeforeClass
11+ public static void setup () {
12+ solution1 = new _1249 .Solution1 ();
13+ }
14+
15+ @ Test
16+ public void test1 () {
17+ System .out .println (solution1 .minRemoveToMakeValid ("lee(t(c)o)de)" ));
18+ }
19+
20+ @ Test
21+ public void test2 () {
22+ System .out .println (solution1 .minRemoveToMakeValid ("a)b(c)d" ));
23+ }
24+
25+ @ Test
26+ public void test3 () {
27+ System .out .println (solution1 .minRemoveToMakeValid ("))((" ));
28+ }
29+
30+ @ Test
31+ public void test4 () {
32+ System .out .println (solution1 .minRemoveToMakeValid ("(a(b(c)d)" ));
33+ }
34+
35+ @ Test
36+ public void test5 () {
37+ System .out .println (solution1 .minRemoveToMakeValid ("())()(((" ));//should be "()()"
38+ }
39+
40+ }
You can’t perform that action at this time.
0 commit comments