984. String Without AAA or BBB

Medium


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, and
  • 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"

 

Constraints:

  • 0 <= a, b <= 100
  • It is guaranteed such an s exists for the given a and b.




 class Solution:
    def strWithout3a3b(self, a: int, b: int) -> str:
        ans = []

        while a or b:
            if len(ans)>=2 and ans[-1] == ans[-2]:
                writeA = ans[-1]=='b'
            else:
                writeA = a>b

            if writeA:
                ans.append('a')
                a-=1
            else:
                ans.append('b')
                b-=1

        return ''.join(ans)


        #s = []
#         if a==b:
#             while a!=0 and b!=0:
#                 s.append('a')
#                 s.append('b')
#                 a-=1
#                 b-=1

#         largerA = True if a>b else False        

#         while a!=0 and b!=0:
#             if a == b:
#                 if largerA:
#                     s.append('a')
#                     s.append('b')
#                 else:
#                     s.append('b')
#                     s.append('a')
#             else:
#                 if largerA:
#                     s.append('aa')
#                     s.append('b')
#                     a-=1
#                 else:
#                     s.append('bb')
#                     s.append('a')
#                     b-=1
#             a-=1
#             b-=1
#         if a!=0:
#             s.append('a'*a)
#         if b!=0:
#             s.append('b'*b)

#         return ''.join(s)

Random Note


  1. Effectively Using Django REST Framework Serializers
  2. How To Use DRF Serializers Effectively in Django
  3. My personal django rest framework serializer notes
  4. How to use DRF serializers effectively during write operations