求最大篮球的单词数

85 阅读1分钟

给你一个字符串 text,你需要使用 text 中的字母来拼凑尽可能多的单词 "basketball"(篮球)。 字符串 text 中的每个字母最多只能被使用一次。请你返回最多可以拼凑出多少个单词 "basketball"。   示例 1: 输入:text = "saltaebbolko" 输出:1 示例 2: 输入:text = "saltaebbolkoxballkeatsb" 输出:2 示例 3: 输入:text = "english" 输出:0   提示: 1 <= text.length <= 10^4 text 全部由小写英文字母组成

using System;

namespace ConsoleApp8
{
    class Program
    {
        static void Main(string[] args)
        {
            char[] text = Console.ReadLine().ToCharArray();
            char[] word = { 'a', 'b', 'l', 's', 'k', 'e', 't' };
            int[] arr = new int[26];
            for (int i = 0; i < text.Length; i++) {
                arr[text[i] - 'a']++;
            }
            int min = Int32.MaxValue;
            for (int i = 0; i < word.Length; i++) {
                if (i < 3)
                {
                    min = Math.Min(min, arr[word[i] - 'a'] / 2);
                }
                else {
                    min = Math.Min(min, arr[word[i] - 'a']);
                }
            }
            Console.WriteLine(min);
        }
    }
}