zoukankan      html  css  js  c++  java
  • LeetCode 984. String Without AAA or BBB(不含 AAA 或 BBB 的字符串)

    LeetCode 984. String Without AAA or BBB(不含 AAA 或 BBB 的字符串)

    题目

    链接

    https://leetcode-cn.com/problems/string-without-aaa-or-bbb
    

    问题描述

    给定两个整数 A 和 B,返回任意字符串 S,要求满足:

    S 的长度为 A + B,且正好包含 A 个 'a' 字母与 B 个 'b' 字母;
    子串 'aaa' 没有出现在 S 中;
    子串 'bbb' 没有出现在 S 中。

    示例

    输入:A = 1, B = 2
    输出:"abb"
    解释:"abb", "bab" 和 "bba" 都是正确答案。
    

    提示

    0 <= A <= 100
    0 <= B <= 100
    对于给定的 A 和 B,保证存在满足要求的 S。
    

    思路

    直接新建字符串,往里面塞字母就行了,如果当前a比b多,且a还可以放入(anum<2),那就放入a,或者是b不能放入,那么就放入a,这是一类情况,不然就放入b,最后输出结果即可。

    复杂度分析

    时间复杂度 O(A+B)
    空间复杂度 O(A+B)
    

    代码

    C++

    string strWithout3a3b(int A, int B) {
        string s;
        int anum = 0, bnum = 0;
        int len = 0, sum = A + B;
        while (len < sum) {
            len++;
            if (A > B && anum < 2 || A <= B && bnum == 2) {
                s.push_back('a');
                anum++;
                bnum = 0;
                A--;
            } else {
                s.push_back('b');
                bnum++;
                anum = 0;
                B--;
            }
        }
        return s;
    }
    
  • 相关阅读:
    52、前端基础之javascript
    47、前端基础一
    48前端之css
    Django框架----外键关联
    Django框架----数据库表的单表查询
    Django框架----ORM数据库操作
    Django框架----render函数和redirect函数的区别
    Django框架----models.py(数据库操作文件)
    Django框架----视图函数补充
    Django框架----基础
  • 原文地址:https://www.cnblogs.com/blogxjc/p/14865997.html
Copyright © 2011-2022 走看看