国庆作业

132 阅读1分钟

求最大篮球个数

给你一个字符串 text,你需要使用 text 中的字母来拼凑尽可能多的单词 "basketball"(篮球)。 字符串 text 中的每个字母最多只能被使用一次。请你返回最多可以拼凑出多少个单词 "basketball"。

 Console.WriteLine("请输入字符");
 string text = Console.ReadLine();
 char[] tArray = text.ToCharArray();//存放输入的字符数组
 int[] nArray= {0,0,0,0,0,0,0 };//存放符合条件字母个数
 //输入字符的长度为1至10000
 if (tArray.Length >= 1 && tArray.Length <= 10000)
 {
     for (int i = 0; i < tArray.Length; i++)// 遍历字符数组
     {
         //由小写字母组成
          if (tArray[i] >= 'a' && tArray[i] <= 'z')
         {
             switch (tArray[i])
             {
                 case 'b':
                     nArray[0]++;
                     break;
                 case 'a':
                     nArray[1]++;
                     break;
                 case 'c':
                     nArray[2]++;
                     break;
                 case 'k':
                     nArray[3]++;
                     break;
                 case 'e':
                     nArray[4]++;
                     break;
                 case 't':
                     nArray[5]++;
                     break;
                 case 'l':
                     nArray[6]++;
                     break;
                 default:
                     break;                             
             }
         }
     }
     nArray[0] = nArray[0] / 2;
     nArray[1] = nArray[1] / 2;
     nArray[6] = nArray[6] / 2;
     int count = nArray[0];//篮球个数
     //遍历新数组,判断最多有几个
     for (int i = 0; i < nArray.Length; i++)
     {
         if ( nArray[i]<count)
         {
             count = nArray[i];
         }
     }
     Console.WriteLine("最多可以凑"+count+"个basketball");
 }