琼海市网站建设_网站建设公司_JSON_seo优化
2025/12/31 22:35:59 网站建设 项目流程

打卡第七十二天
2道中等题
image

题目:
image

思路:贪心
优先使用数量多的字符,确保不连续出现三个相同字符
比较 a 和 b 的数量,根据差值决定添加模式
始终保持两种字符的平衡,避免一种字符过多导致无法避免连续三个相同字符
代码:

class Solution {
public:string strWithout3a3b(int a, int b) {string res;res.reserve(a + b);  // 预分配空间while (a > 0 && b > 0) {// 当两种字符都有剩余时if (a == b) {// a和b数量相等,交替添加res += "ab";a--;b--;} else if (a > b) {// a比b多res += "aab";a -= 2;  // 用了两个ab--;     // 用了一个b} else {// b比a多,添加"bba"来快速减少b的数量res += "bba";b -= 2;  // 用了两个ba--;     // 用了一个a}}if (a > 0) {// 处理剩余字符res += string(a, 'a');}if (b > 0) {res += string(b, 'b');}return res;}
};

耗时≈一小时 明天继续

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询