Description
Given two integers a and b, return any string s such that:
- shas length- a + band contains exactly- a- 'a'letters, and exactly- b- '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