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