1189. Maximum Number of Balloons
Given a string text
, you want to use the characters of text
to form as many instances of the word "balloon" as possible.
You can use each character in text
at most once. Return the maximum number of instances that can be formed.
Example 1:
Input: text = "nlaebolko"
Output: 1
Example 2:
Input: text = "loonbalxballpoon"
Output: 2
Example 3:
Input: text = "leetcode"
Output: 0
Constraints:
1 <= text.length <= 10^4
text
consists of lower case English letters only.
int maxNumberOfBalloons(string text) { // time: O(n + m); space: O(1)
const string target = "balloon";
vector<int> record(26, 0), target_cnt(26, 0);
for (char ch : target)
++target_cnt[ch - 'a'];
for (char ch : text)
++record[ch - 'a'];
int res = 0, n = text.length(), m = target.length();
while (n >= m) {
for (int i = 0; i < 26; ++i) {
if (record[i] < target_cnt[i]) break;
record[i] -= target_cnt[i];
if (i == 25) ++res;
}
n -= m;
}
return res;
}
Previous1170. Compare Strings by Frequency of the Smallest CharacterNext1268. Search Suggestions System
Last updated
Was this helpful?