984. String Without AAA or BBB
Medium
133200Add to ListShare
Given two integers A
and B
, return any string S
such that:
S
has lengthA + B
and contains exactlyA
'a'
letters, and exactlyB
'b'
letters;- The substring
'aaa'
does not occur inS
; - 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"
Note:
0 <= A <= 100
0 <= B <= 100
- It is guaranteed such an
S
exists for the givenA
andB
.
class Solution {
public:
string strWithout3a3b(int A, int B) {
string res="";
while(B>0 && A>0){
while(B>0 && A>0 && A>=B){
if(A-2*B>=0){
res+="aab"; A-=2; B-=1;
}
else{
res+="ab"; A-=1; B-=1;
}
}
while(B>0 && A>0 && B>=A){
if(B-2*A>=0){
res+="bba"; B-=2; A-=1;
}
else{
res+="ba"; B-=1; A-=1;
}
}
}
while(B>0){
res+='b';B--;
}
while(A>0){
res+='a';A--;
}
return res;
}
};
- Runtime: 0 ms, faster than 100.00% of C++ online submissions for String Without AAA or BBB.
- Memory Usage: 8.4 MB, less than 100.00% of C++ online submissions for String Without AAA or BBB.
- Next challenges:
- Dota2 Senate
- Score After Flipping Matrix
- Walking Robot Simulation