栈的题里面这道还是有点价值的。下面给出题面:
思路就是让每个左括号依次入栈,如果匹配的话,用bool数组进行标记,然后出栈。
但是这种情况下可能会出现某个右括号与左括号中间有许多不匹配的括号,但是仍然被标记上了。
仔细想想的话如果当前的右括号和栈顶不匹配的话,当前栈中储存的所有括号就都没有价值了,这时候清空栈即可。
然后是正常的枚举区间操作,输出最靠左的包含元素最多的子串。
栈的题里面这道还是有点价值的。下面给出题面:
思路就是让每个左括号依次入栈,如果匹配的话,用bool数组进行标记,然后出栈。
但是这种情况下可能会出现某个右括号与左括号中间有许多不匹配的括号,但是仍然被标记上了。
仔细想想的话如果当前的右括号和栈顶不匹配的话,当前栈中储存的所有括号就都没有价值了,这时候清空栈即可。
然后是正常的枚举区间操作,输出最靠左的包含元素最多的子串。
转载于:https://www.cnblogs.com/hinanawitenshi/p/6486361.html