LeetCode简单题之“气球” 的最大数量
生活随笔
收集整理的這篇文章主要介紹了
LeetCode简单题之“气球” 的最大数量
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題目
給你一個字符串 text,你需要使用 text 中的字母來拼湊盡可能多的單詞 “balloon”(氣球)。
字符串 text 中的每個字母最多只能被使用一次。請你返回最多可以拼湊出多少個單詞 “balloon”。
示例 1:
輸入:text = “nlaebolko”
輸出:1
示例 2:
輸入:text = “l(fā)oonbalxballpoon”
輸出:2
示例 3:
輸入:text = “l(fā)eetcode”
輸出:0
提示:
1 <= text.length <= 10^4
text 全部由小寫英文字母組成
來源:力扣(LeetCode)
解題思路
??題目的意思很明顯,就是判斷text中存在的對應(yīng)元素個數(shù)是否都大于“balloon”中各個字符的數(shù)量,如果都大于的話查看text中對應(yīng)元素的最小個數(shù)是多少(木桶效應(yīng))。注:text中在其他對應(yīng)元素都大于0的情況下至少存在兩個“o”和兩個“l(fā)”才能算作1次。
class Solution:def maxNumberOfBalloons(self, text: str) -> int:T=collections.Counter(text) #text中個元素的頻率表S=collections.Counter("balloon") #{'b':1,'a':1,'l':2,'o':2,'n':1}MIN=float("inf") #最少能組成幾個“氣球”count=0 #統(tǒng)計當(dāng)前元素種類確定的個數(shù)for i,j in T.items():if i in S.keys() and j>=S[i]:if i=='l' or i=='o': #“l(fā)”和“o”分別需要按一對兒來計算j//=2count+=1if MIN>j:MIN=jreturn 0 if count<5 else MIN
總結(jié)
以上是生活随笔為你收集整理的LeetCode简单题之“气球” 的最大数量的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode简单题之杨辉三角 II
- 下一篇: LeetCode简单题之相交链表