华为OD机试真题-分割均衡字符串-2023年OD统一考试(C卷)
题目描述:
均衡串定义:字符串只包含两种字符,且两种字符的个数相同。
给定一个均衡字符串,请给出可分割成新的均衡子串的最大个数。
约定字符串中只包含大写的'X'和'Y'两种字符。
输入描述:
均衡串:XXYYXY
字符串的长度[2,10000]。给定的字符串均为均衡串。
输出描述:
可分割为两个子串:
XXYY
XY
补充说明:
分割后的子串,是原字符串的连续子串。
收起
示例1
输入:
XXYYXY输出:
2说明:
解题思路:考察字符串处理。
#include <stdio.h>
#include <string.h>
int main()
{
char str[10000]={0};
scanf("%s",str);
int i=0;
int len=strlen(str);
int num_x=0;
int num_y=0;
int count=0;
for(i=0;i<len;i++)
{
if(str[i]=='X')
num_x++;
else if(str[i]=='Y')
num_y++;
if(num_x==num_y)
{
count++;
num_x=0;
num_y=0;
}
}
printf("%d\n",count);
return 0;
}