当前位置:   article > 正文

力扣1405.最长快乐字符串

力扣1405.最长快乐字符串

力扣1405.最长快乐字符串

  • 三个比较

    • chlen记录最多剩余字母的数量
    • xsize记录当前字符串
  •   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;
          }
      };
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号