LeetCode 984.不含AAA或BBB的字符串
给定两个整数 a 和 b 返回 任意 字符串 s 要求满足s 的长度为 a b且正好包含 a 个 ‘a’ 字母与 b 个 ‘b’ 字母子串 ‘aaa’ 没有出现在 s 中子串 ‘bbb’ 没有出现在 s 中。示例 1输入a 1, b 2输出“abb”解释“abb”, “bab” 和 “bba” 都是正确答案。示例 2输入a 4, b 1输出“aabaa”提示0 a, b 100对于给定的 a 和 b保证存在满足要求的 s构造答案时我们可以贪心地每次把更多的那个字符加到答案字符串里除非已经存在连续的两个相同字符classSolution{public:stringstrWithout3a3b(inta,intb){string s;intnab;intcA2;intcB2;for(inti0;in;i){if(ab){if(cA0){sa;}else{sb;}}else{if(cB0){sb;}else{sa;}}if(s.back()a){--a;--cA;cB2;}else{--b;--cB;cA2;}}returns;}};此算法时间复杂度为O(ab)空间复杂度为O(1)。