栈
题意:
给定的字符串只会有AB这两种字符
美丽的字符串:所有的字符都要配对,且A和A配对,B和B配对,存在某种配对的方式使得不同的配对不会有相交的情况(就是只会相离或包含)
给你n个字符串,问有多少个美丽字符串
数据范围:
n<=100,字符串长度<=10^5,所有字符串长度之和<=10^6
思路:
这就是一题栈的教学题,就像括号匹配一样,不能有相交.不过这里的字符既可以当左括号,又能当右括号
扫描字符串,维护一个栈.扫到一个字符,如果和栈顶相同,就把它当成右括号匹配掉,栈顶作为左括号出栈.否则,把它当成左括号进栈
扫描完了,看栈是否为空,空的话说明是美丽字符串
题意:
给定的字符串只会有AB这两种字符
美丽的字符串:所有的字符都要配对,且A和A配对,B和B配对,存在某种配对的方式使得不同的配对不会有相交的情况(就是只会相离或包含)
给你n个字符串,问有多少个美丽字符串
数据范围:
n<=100,字符串长度<=10^5,所有字符串长度之和<=10^6
思路:
这就是一题栈的教学题,就像括号匹配一样,不能有相交.不过这里的字符既可以当左括号,又能当右括号
扫描字符串,维护一个栈.扫到一个字符,如果和栈顶相同,就把它当成右括号匹配掉,栈顶作为左括号出栈.否则,把它当成左括号进栈
扫描完了,看栈是否为空,空的话说明是美丽字符串
总结:类似括号匹配,维护一个栈