# 次数差
#### 问题描述

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;
}
```
