力扣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;
      }
  };
相关推荐
圣保罗的大教堂6 分钟前
leetcode 3300. 替换为数位和以后的最小元素 简单
leetcode
sheeta19988 分钟前
LeetCode 每日一题笔记 日期:2026.05.27 题目:3121. 统计特殊字母的数量 II
笔记·算法·leetcode
ST——Jess18 分钟前
年度行业趋势研究报告:泛心理数字化赛道“流日推演”的算法困境与高保真交互范式重构
人工智能·算法·架构
Tisfy20 分钟前
LeetCode 3300.替换为数位和以后的最小元素:一次遍历
数学·算法·leetcode·模拟
星梦清河21 分钟前
Java—异步编程
java·开发语言
GIS数据转换器26 分钟前
智慧能源管理平台
java·大数据·运维·人工智能·无人机
garmin Chen30 分钟前
LeetcodeHot100打卡(14、合并空间,15、轮转数组,16、除了自身以外数组乘积,17.缺失的第一个整数)
java·笔记·学习·算法
接着奏乐接着舞32 分钟前
dto 转entity方法
java·开发语言
我命由我1234536 分钟前
Android 开发问题:项目同时引入了两个包含相同类文件的库(AndroidX 库、旧版本支持库),导致了重复类错误
android·java·java-ee·android studio·android-studio·androidx·android runtime