如果字串中不含有任何 'aaa','bbb' 或 'ccc' 這樣的字串作為子串,那麼該字串就是乙個「快樂字串」。給你三個整數 a,b ,c,請你返回 任意乙個 滿足下列全部條件的字串 s:
s 是乙個盡可能長的快樂字串。
s 中 最多 有a 個字母 'a'、b 個字母 'b'、c 個字母 'c' 。
s 中只含有 'a'、'b' 、'c' 三種字母。
如果不存在這樣的字串 s ,請返回乙個空字串 ""。
示例 1:
輸入:a = 1, b = 1, c = 7
輸出:"ccaccbcc"
解釋:"ccbccacc" 也是一種正確答案。
1.貪心,每次選剩餘最多的放,但當最後2個字元相同時這個字元不能選擇。但還有乙個問題就是,我們什麼時候停止?
如果一開就能計算出答案的長度問題就解決了。
class solution:
def longestdiversestring(self, a: int, b: int, c: int) -> str:
d=n=sum(d.values())
res=
for _ in range(n):
table=set(['a','b','c'])
if len(res)>1 and res[-1]==res[-2]:
table.remove(res[-1])
tmp=max(table,key=lambda x:d[x])
d[tmp]-=1
return ''.join(res)
LeetCode 1405 最長快樂字串
如果字串中不含有任何 aaa bbb 或 ccc 這樣的字串作為子串,那麼該字串就是乙個 快樂字串 給你三個整數 a,b c,請你返回 任意乙個 滿足下列全部條件的字串 s 輸入 a 1,b 1,c 7 輸出 ccaccbcc 解釋 ccbccacc 也是一種正確答案。輸入 a 2,b 2,c 1 ...
1405 最長快樂字串(貪心演算法)
如果字串中不含有任何 aaa bbb 或 ccc 這樣的字串作為子串,那麼該字串就是乙個 快樂字串 給你三個整數 a,b c,請你返回 任意乙個 滿足下列全部條件的字串 s s 是乙個盡可能長的快樂字串。s 中 最多 有a 個字母 a b 個字母 b c 個字母 c s 中只含有 a b c 三種字...
5195 最長快樂字串
如果字串中不含有任何 aaa bbb 或 ccc 這樣的字串作為子串,那麼該字串就是乙個 快樂字串 給你三個整數 a,b c,請你返回 任意乙個 滿足下列全部條件的字串 s s 是乙個盡可能長的快樂字串。s 中 最多 有a 個字母 a b 個字母 b c 個字母 c s 中只含有 a b c 三種字...