力扣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;
      }
  };
相关推荐
_codemonster5 分钟前
深度学习实战(基于pytroch)系列(四十八)AdaGrad优化算法
人工智能·深度学习·算法
鹿角片ljp25 分钟前
力扣140.快慢指针法求解链表倒数第K个节点
算法·leetcode·链表
qq_124987075331 分钟前
基于SpringBoot学生学习历史的选课推荐系统的设计与实现(源码+论文+部署+安装)
java·spring boot·后端·学习·毕业设计·毕设
自由生长202442 分钟前
位运算第1篇-异或运算-快速找出重复数字
算法
廋到被风吹走1 小时前
【Spring】事务管理深度解析|从原理到实战
java·spring
xxxxxmy1 小时前
同向双指针(滑动窗口)
python·算法·滑动窗口·同向双指针
释怀°Believe1 小时前
Daily算法刷题【面试经典150题-5️⃣图】
算法·面试·深度优先
List<String> error_P1 小时前
数据结构:链表-单向链表篇
算法·链表
ss2731 小时前
ConcurrentHashMap:扩容机制与size()方法
算法·哈希算法
lkbhua莱克瓦241 小时前
Java进阶——IO流
java·开发语言·笔记·学习方法·io流