Given two integers a and b, return any string s such that:
s has length a + b and contains exactly a'a' letters, and exactly b'b' letters,
The substring 'aaa' does not occur in s, and
The substring 'bbb' does not occur in s.
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 s exists for the given a and b.
Solutions
Solution 1
Thinking
Build a string with \(a\)'a's and \(b\)'b's that avoids aaa/bbb. The more frequent letter should be emitted in pairs, separated by the rarer one, so it does not clump. Append aab when \(a>b\), bba when \(b>a\), ab when equal, then the leftover singles.