均衡串定义:字符串只包含两种字符,且两种字符的个数相同。
给定一个均衡字符串,请给出可分割成新的均衡子串的最大个数。
约定字符串中只包含大写的'X'和'Y'两种字符。
输入描述:
均衡串:XXYYXY
字符串的长度[2,10000]。给定的字符串均为均衡串。
输出描述:
可分割为两个子串:
XXYY
XY
备注:
分割后的子串,是原字符串的连续子串。
题目解析:只需要一次遍历就行,记录X和Y的出现次数,每当次数相等时就说明出现了新的均衡子串! 因为题目中约定字符串中只包含大写的'X'和'Y'两种字符,也不用考虑其他情况!
import java.util.*;
public class Main {
public static void main(String[] args) {
// String str = "XXYYXY";
Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine();
int countX = 0;
int countY = 0;
int result = 0;
for (int i = 0; i < str.length(); i++) {
if(str.charAt(i) == 'X'){
countX++;
}else{
countY++;
}
if(countX == countY){
result++;
}
}
System.out.println(result);
}
}