力扣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;
      }
  };
相关推荐
空空kkk6 分钟前
Java——接口
java·开发语言·python
MaxHua9 分钟前
JAVA开发处理金额的数据类型你知道多少?
java·后端
ZhengEnCi10 分钟前
LeetCode_3347_执行操作后元素的最高频率II完全解析-从暴力枚举到差分数组优化的算法进阶利器
算法
oak隔壁找我17 分钟前
公司级 Maven Parent POM 设计指南
java·后端
是Dream呀27 分钟前
基于代理技术的学术平台合规数据高效采集实践 —— 以 Google Scholar 文献获取为例
算法
软行30 分钟前
LeetCode 每日一题 166. 分数到小数
数据结构·c++·算法·leetcode·哈希算法
zl97989930 分钟前
SpringBoot-Web开发之内容协商
java·spring boot
阿昭L31 分钟前
leetcode合并有序链表
leetcode·链表
bb456b32 分钟前
Snipaste (截图贴图工具) 精准截图 中文免费版
java·工具·贴图