力扣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;
      }
  };
相关推荐
may_一一18 小时前
docker安装的redis状态一直是restarting
java·redis·docker
zhangyifang_00919 小时前
Spring中的SPI机制
java·spring
c#上位机19 小时前
halcon图像增强——图像取反
图像处理·算法·c#·halcon
zheyutao19 小时前
割点和桥
算法·图论
han_hanker19 小时前
这里使用 extends HashMap<String, Object> 和 类本身定义变量的优缺点
java·开发语言
@小码农19 小时前
2025年北京海淀区中小学生信息学竞赛第二赛段C++真题
开发语言·数据结构·c++·算法
careathers19 小时前
【JavaSE语法】面向对象初步认识
java·面向对象
coding随想19 小时前
掌控选区的终极武器:getSelection API的深度解析与实战应用
java·前端·javascript
蓝域小兵19 小时前
齐次方程组和非齐次方程组有什么区别
人工智能·算法·机器学习
嵌入式小能手19 小时前
飞凌嵌入式ElfBoard-文件I/O的深入学习之存储映射I/O
java·前端·学习