力扣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;
      }
  };
相关推荐
攻城有术8 分钟前
专项攻克-SpringBoot启动后 Bean的实例数量问题
java·spring boot·后端
步行cgn20 分钟前
PageHelper 的用法
java·后端
万法若空26 分钟前
CSP-J/S 排序算法完整专题训练题单
数据结构·算法·排序算法
凉茶钱26 分钟前
【数据结构】排序(快排,选择,直接插入,希尔)
数据结构·算法·排序算法
weixin_4462608534 分钟前
拆解再复用:大模型智能体的跨任务技能迁移
人工智能·深度学习·算法
Sam_Deep_Thinking36 分钟前
从REST到gRPC,一个API选型的思考框架
java·后端·程序员
无毁的湖光-Al1 小时前
解Bug之路-with AI-应用被限流?
java·linux
Brilliantwxx1 小时前
【Linux】 进程(4)七大进程状态深度解析
linux·运维·算法
程序员贺加贝1 小时前
别把 ThreadLocal 写进 Serializer:一次 SaaS 多租户 Jackson 上下文污染排查
java·spring boot
许彰午1 小时前
06-EaEngine调度器
java·低代码·架构