Description
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.
分析
题目的意思是:给定字符串,求能构成’balloon’的最大数目,思路也很直接,统计词频就行了。
代码
class Solution:
def maxNumberOfBalloons(self, text: str) -> int:
d=collections.defaultdict(int)
for ch in text:
d[ch]+=1
cnt=float('inf')
for ch in "balon":
if(ch=='o' or ch=='l'):
cnt=min(cnt,d[ch]//2)
else:
cnt=min(cnt,d[ch])
return cnt