Сложность: easy
Дана строка text. Вы хотите использовать символы строки text, чтобы сформировать как можно больше экземпляров слова "balloon".
Каждый символ строки text можно использовать не более одного раза. Верните максимальное количество экземпляров, которые можно сформировать.
Пример:
Input: text = "nlaebolko"
Output: 1
👨💻 Алгоритм:
1⃣Подсчитайте количество появлений каждого символа 'b', 'a', 'l', 'o', 'n' в строке text.
2⃣Вычислите потенциал для каждого символа: для 'b' и 'a' потенциал равен количеству их появлений, для 'l' и 'o' потенциал равен количеству их появлений, деленному на 2, а для 'n' потенциал равен количеству его появлений.
3⃣Найдите символ с наименьшим потенциалом среди 'b', 'a', 'l', 'o', 'n', который ограничивает количество возможных слов "balloon", и верните это значение.
😎 Решение:
public class Solution {
public int MaxNumberOfBalloons(string text) {
int bCount = 0, aCount = 0, lCount = 0, oCount = 0, nCount = 0;
foreach (char c in text) {
if (c == 'b') {
bCount++;
} else if (c == 'a') {
aCount++;
} else if (c == 'l') {
lCount++;
} else if (c == 'o') {
oCount++;
} else if (c == 'n') {
nCount++;
}
}
lCount /= 2;
oCount /= 2;
return Math.Min(bCount, Math.Min(aCount, Math.Min(lCount, Math.Min(oCount, nCount))));
}
}Ставь 👍 и забирай 📚 Базу знаний