Description
Given two integers a and b, return any string s such that:
shas lengtha + band contains exactlya'a'letters, and exactlyb'b'letters,- The substring
'aaa'does not occur ins, and - The substring
'bbb'does not occur ins.
Β
Example 1:
Input: a = 1, b = 2 Output: "abb" Explanation: "abb", "bab" and "bba" are all correct answers.
Example 2:
Input: a = 4, b = 1 Output: "aabaa"
Β
Constraints:
0 <= a, b <= 100- It is guaranteed such an
sexists for the givenaandb.
Solution
Python3
class Solution:
def strWithout3a3b(self, a: int, b: int) -> str:
res = ""
while a > 0 and b > 0:
if a > b:
res += "a" * min(a, 2)
res += "b"
a -= min(a, 2)
b -= 1
elif a == b:
if not res or res[-1] == "a":
res += "b"
b -= 1
else:
res += "a"
a -= 1
else:
res += "b" * min(b, 2)
res += "a"
b -= min(b, 2)
a -= 1
if a > 0:
res += "a" * a
if b > 0:
res += "b" * b
return res