力扣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;
      }
  };
相关推荐
健康平安的活着3 分钟前
java之 junit4单元测试Mockito的使用
java·开发语言·单元测试
No0d1es5 分钟前
电子学会青少年软件编程(C/C++)5级等级考试真题试卷(2024年6月)
c语言·c++·算法·青少年编程·电子学会·五级
Java小白程序员25 分钟前
Spring Framework :IoC 容器的原理与实践
java·后端·spring
xuTao6671 小时前
Easy Rules 规则引擎详解
java·easy rules
m0_480502642 小时前
Rust 入门 KV存储HashMap (十七)
java·开发语言·rust
大阳1232 小时前
线程(基本概念和相关命令)
开发语言·数据结构·经验分享·算法·线程·学习经验
杨DaB2 小时前
【SpringBoot】Swagger 接口工具
java·spring boot·后端·restful·swagger
YA3332 小时前
java基础(九)sql基础及索引
java·开发语言·sql
Swift社区2 小时前
Swift 实战:实现一个简化版的 Twitter(LeetCode 355)
leetcode·swift·twitter
桦说编程2 小时前
方法一定要有返回值 \ o /
java·后端·函数式编程