加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

[Swift Weekly Contest 121]LeetCode984. 不含 AAA 或 BBB 的字

发布时间:2020-12-14 05:05:22 所属栏目:百科 来源:网络整理
导读: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

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.

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

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

示例 1:

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

示例 2:

输入:A = 4,B = 1
输出:"aabaa"?

提示:

  1. 0 <= A <= 100
  2. 0 <= B <= 100
  3. 对于给定的?A?和?B,保证存在满足要求的?S

12ms

 1 class Solution {
 2     func strWithout3a3b(_ A: Int,_ B: Int) -> String {
 3         var A = A
 4         var B = B
 5         var ret:[Character] = [Character](repeating:" ",count:A+B)
 6         for i in 0..<ret.count
 7         {
 8             if i >= 2 && ret[i-1] == ret[i-2]
 9             {
10                 if ret[i-1] == "a"
11                 {
12                     ret[i] = "b"
13                     B -= 1
14                 }
15                 else
16                 {
17                     ret[i] = "a"
18                     A -= 1
19                 }
20             }
21             else
22             {
23                 if A > B
24                 {
25                     ret[i] = "a"
26                     A -= 1
27                 }
28                 else
29                 {
30                     ret[i] = "b"
31                     B -= 1
32                 }
33             }            
34         }
35         return String(ret.reversed())
36     }
37 }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读