一、求最大篮球单词数
给你一个字符串 text,你需要使用 text 中的字母来拼凑尽可能多的单词 "basketball"(篮球)。 字符串 text 中的每个字母最多只能被使用一次。请你返回最多可以拼凑出多少个单词 "basketball"。
示例 1: 输入:text = "saltaebbolko" 输出:1
示例 2: 输入:text = "saltaebbolkoxballketsba" 输出:2
示例 3: 输入:text = "english" 输出:0
提示: 1 <= text.length <= 10^4 text 全部由小写英文字母组成
using System;
namespace baskertball
{
class Solution
{
static void Main(string[] args)
{
string text = Convert.ToString(Console.ReadLine());
char[] chars = text.ToCharArray();
/*for (int i = 0; i < chars.Length; i++)
{
Console.WriteLine(chars[i]);
}*/
int blen = 0;
int alen = 0;
int clen = 0;
int klen = 0;
int elen = 0;
int tlen = 0;
int llen = 0;
for (int i = 0; i < text.Length; i++)
{
char des = chars[i];
switch (des)
{
case 'b':
blen++;
break;
case 'a':
alen++;
break;
case 'c':
clen++;
break;
case 'k':
klen++;
break;
case 'e':
elen++;
break;
case 't':
tlen++;
break;
case 'l':
llen++;
break;
default:
break;
}
}
//return Math.Min(Math.Min)
int j = Math.Min(Math.Min(Math.Min(Math.Min(blen, alen) /2,Math.Min(clen, klen)), Math.Min( elen,tlen)), llen / 2);
Console.WriteLine("最多可以组成{0}个单词", j);
}
}
}
//求最大篮球的单词数 backetball
//输入一个字符串 判断里面单词数 a b e k l s t 取里面次数最小的 用数组来收集
//假设a是下标0 以此类推 b下标是1, 出现两次的字母有 a l b 算的时候要除以2
string str = Console.ReadLine();
int[] numArray = new int[7];
for(int i=0;i<str.Length;i++)
{
if (str[i]=='a')
{
numArray[0] += 1;
}
else if (str[i]=='b')
{
numArray[1]++;
}else if (str[i]=='e')
{
numArray[2]++;
}else if (str[i]=='k')
{
numArray[3]++;
}else if (str[i]=='l')
{
numArray[4]++;
}else if (str[i]=='s')
{
numArray[5]++;
}else if (str[i]=='t')
{
numArray[6]++;
}
}
numArray[0] /=2;
numArray[4] /=2;
numArray[1] /=2;
Console.WriteLine(numArray.Min());