• LC 984. String Without AAA or BBB


    Given two integers A and B, return any string S such that:

    • S has length A + B and contains exactly A 'a' letters, and exactly B 'b' letters;
    • The substring 'aaa' does not occur in S;
    • The substring 'bbb' does not occur in S.

    Example 1:

    Input: A = 1, B = 2
    Output: "abb"
    Explanation: "abb", "bab" and "bba" are all correct answers.
    

    Example 2:

    Input: A = 4, B = 1
    Output: "aabaa"

    Note:

    1. 0 <= A <= 100
    2. 0 <= B <= 100
    3. It is guaranteed such an S exists for the given A and B.
    Runtime: 0 ms, faster than 100.00% of C++ online submissions for String Without AAA or BBB.
    Memory Usage: 753.7 KB, less than 100.00% of C++ online submissions for String Without AAA or BBB.
    class Solution {
    public:
      string strWithout3a3b(int A, int B) {
        if(A <= B) {
          return helper("b","a", B, A);
        }
        return helper("a","b", A, B);
      }
    
      string helper(string more, string less, int m, int l){
        string ret = "";
        if( m - l > l) {
          //assert(m - l <= 3);
          for(int i=0; i<l; i++){
            ret += more + more + less;
          }
          for(int i=0; i< m - l - l; i++) {
            ret += more;
          }
        }
        else {
          for(int i=0; i<m-l; i++) {
            ret += more + more + less;
          }
          for(int i=0; i<2*l-m; i++){
            ret += more + less;
          }
        }
        return ret;
      }
    
    };
  • 相关阅读:
    webstorm破解
    macos-WebStorm安裝
    CocoaPods安装与使用
    前端之HTML
    python调用百度语音(语音识别-斗地主语音记牌器)
    MySQL学习笔记(二)
    MySQL学习笔记(一)
    python网络编程
    计算机网络基础
    python之hashlib、configparser、logging模块
  • 原文地址:https://www.cnblogs.com/ethanhong/p/10352642.html
Copyright © 2020-2023  润新知