力扣1405.最长快乐字符串

力扣1405.最长快乐字符串

  • 三个比较

    • chlen记录最多剩余字母的数量
    • xsize记录当前字符串
cpp 复制代码
  class Solution {
  public:
      string longestDiverseString(int a, int b, int c) {
          string res;
          while(a + b + c > 0)
          {
              char choose = '-';
              int chlen = 0;
              int xsize = res.size();
              //a的数量更多 并且可以放
              if(a > chlen && (xsize < 2 || res[xsize - 1] != 'a' || res[xsize - 2] != 'a'))
              {
                  chlen = a;
                  choose = 'a';
              }
              //b的数量更多 并且可以放
              if(b > chlen && (xsize < 2 || res[xsize - 1] != 'b' || res[xsize - 2] != 'b'))
              {
                  chlen = b;
                  choose = 'b';
              }
              //c的数量更多 并且可以放
              if(c > chlen && (xsize < 2 || res[xsize - 1] != 'c' || res[xsize - 2] != 'c'))
              {
                  chlen = c;
                  choose = 'c';
              }
              if(choose == '-') break;
              res.append(1,choose);
              if(choose == 'a') a--;
              else if(choose == 'b') b--;
              else if(choose == 'c') c--;
          }
          return res;
      }
  };
相关推荐
heimeiyingwang3 分钟前
【架构实战】数据脱敏与隐私保护:合规是底线
java·开发语言·架构
dengyuezhe806017 分钟前
《C++ 异常机制与智能指针:从原理到实现》
android·java·c++
于指尖飞舞17 分钟前
java后端面试题(常用集合极简)
java·开发语言·面试
YHHLAI22 分钟前
LeetCode 1.两数之和 | 从暴力枚举到线性优化
算法·leetcode·职场和发展
Urbano23 分钟前
工装标准缝纫流程及自动化升级提质增产方案
大数据·人工智能·算法
我星期八休息28 分钟前
Linux系统编程—mmap文件映射
java·linux·运维·服务器·数据库·mysql·spring
phltxy34 分钟前
Spring AI 智能咨询系统综合实战
java·人工智能·spring
java1234_小锋38 分钟前
Spring Boot 中 Starter 是什么?它的核心规范有哪些?请说明如何自定义一个 Starter。
java·spring boot·后端
良枫38 分钟前
自进化 agent:核心模块一任务规划器 Planner
java·服务器·windows