# 次数差

**问题描述**


x星球有26只球队，分别用 a ~ z 的26个字母代表。他们总是不停地比赛。  
在某一赛段，哪个球队获胜了，就记录下代表它的字母，这样就形成一个长长的串。  
国王总是询问：获胜次数最多的和获胜次数最少的有多大差距？  
（当然，他不关心那些一次也没获胜的，认为他们在怠工罢了）  


**输入格式**

一个串，表示球队获胜情况（保证串的长度<1000）


**输出格式**

要求输出一个数字，表示出现次数最多的字母比出现次数最少的字母多了多少次。


**样例输入1**

```
abaabcaa
```

**样例输出1**

```
4
```

**提示**

```
a 出现 5 次，最多；c 出现1次，最少。
5 - 1 = 4
```

**样例输入2**

```
bbccccddaaaacccc
```

**样例输出2**

```
6
```

## aop
### before
```cpp
#include <stdio.h>
#include <string.h>
```
### after
```cpp

```

## 答案
```cpp
int main() 
{
	char s[1000];
	scanf("%s", &s);
	int len = strlen(s);   
	int helper[256] = {0}; 
	int max = 0, min = len;
	for (int i = 0; i < len; i++)
	{
		helper[s[i]]++; 
	}
	for (int i = 0; i < 256; i++)
	{
		if (helper[i] > max)
		{
			max = helper[i];
		}
		if (helper[i] < min && helper[i] != 0)
		{
			min = helper[i];
		}
	}
	printf("%d\n", max - min);
	return 0;
}
```
## 选项

### A
```cpp
int main() 
{
	char s[1000];
	scanf("%s", &s);
	int len = strlen(s);   
	int helper[256] = {0}; 
	int max = 0, min = len;
	for (int i = 0; i < len; i++)
	{
		helper[s[i]]++; 
	}
	for (int i = 0; i < 256; i++)
	{
		if (helper[i] > max)
		{
			max = helper[i];
		}
		if (helper[i] < min)
		{
			min = helper[i];
		}
	}
	printf("%d\n", max - min);
	return 0;
}
```

### B
```cpp
int main() 
{
	char s[1000];
	scanf("%s", &s);
	int len = strlen(s);   
	int helper[256] = {0}; 
	int max = 0, min = len;
	for (int i = 0; i < len; i++)
	{
		helper[s[i]]++; 
	}
	for (int i = 0; i < 256; i++)
	{
		if (helper[i] > max)
		{
			max = helper[i];
		}
		if (helper[i] < min && helper[i] == 0)
		{
			min = helper[i];
		}
	}
	printf("%d\n", max - min);
	return 0;
}
```

### C
```cpp
int main() 
{
	char s[1000];
	scanf("%s", &s);
	int len = strlen(s);   
	int helper[256] = {0}; 
	int max = 0, min = len;
	for (int i = 0; i < len; i++)
	{
		helper[s[i]]++; 
	}
	for (int i = 0; i < 256; i++)
	{
		if (helper[i] < max)
		{
			max = helper[i];
		}
		if (helper[i] > min)
		{
			min = helper[i];
		}
	}
	printf("%d\n", max - min);
	return 0;
}
```
