标签:2-2 exist correct ESS int str style runtime help
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 <= 100
0 <= B <= 100
S
exists for the given A
and B
.
class Solution { public: string strWithout3a3b(int A, int B) { if(A <= B) { return helper("b","a", B, A); } return helper("a","b", A, B); } string helper(string more, string less, int m, int l){ string ret = ""; if( m - l > l) { //assert(m - l <= 3); for(int i=0; i<l; i++){ ret += more + more + less; } for(int i=0; i< m - l - l; i++) { ret += more; } } else { for(int i=0; i<m-l; i++) { ret += more + more + less; } for(int i=0; i<2*l-m; i++){ ret += more + less; } } return ret; } };
LC 984. String Without AAA or BBB
标签:2-2 exist correct ESS int str style runtime help
原文地址:https://www.cnblogs.com/ethanhong/p/10352642.html