website/content/ChapterFour/0900~0999/0984.String-Without-AAA-or-BBB.md
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;'aaa' does not occur in S;'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"
Note:
0 <= A <= 1000 <= B <= 100S exists for the given A and B.给定两个整数 A 和 B,返回任意字符串 S,要求满足:
提示:
ba,bbabb,bbabbabb,bbabbabbabbabababa。
package leetcode
func strWithout3a3b(A int, B int) string {
ans, a, b := "", "a", "b"
if B < A {
A, B = B, A
a, b = b, a
}
Dif := B - A
if A == 1 && B == 1 { // ba
ans = b + a
} else if A == 1 && B < 5 { // bbabb
for i := 0; i < B-2; i++ {
ans = ans + b
}
ans = b + b + a + ans
} else if (B-A)/A >= 1 { //bbabbabb
for i := 0; i < A; i++ {
ans = ans + b + b + a
B = B - 2
}
for i := 0; i < B; i++ {
ans = ans + b
}
} else { //bbabbabbabbabababa
for i := 0; i < Dif; i++ {
ans = ans + b + b + a
B -= 2
A--
}
for i := 0; i < B; i++ {
ans = ans + b + a
}
}
return ans
}