Teaching Kids Programming – Algorithm to Generate a String With Characters That Have Odd Counts


Teaching Kids Programming: Videos on Data Structures and Algorithms

Given an integer n, return a string with n characters such that each character in such string occurs an odd number of times. The returned string must contain only lowercase English letters. If there are multiples valid strings, return any of them.

Example 1:
Input: n = 4
Output: “pppz”
Explanation: “pppz” is a valid string since the character ‘p’ occurs three times and the character ‘z’ occurs once. Note that there are many other valid strings such as “ohhh” and “love”.

Example 2:
Input: n = 2
Output: “xy”
Explanation: “xy” is a valid string since the characters ‘x’ and ‘y’ occur once. Note that there are many other valid strings such as “ag” and “ur”.

Example 3:
Input: n = 7
Output: “holasss”

Constraints:
1 <= n <= 500

Generate a String With Characters That Have Odd Counts

We can just use two letters a and b to generate such strings. If n is odd, then we simply repeat the “a” n times, otherwise, we repeat “a” n-1 times and then concatenate it with a single “b”. So both “a” and “b” will be odd count.

1
2
3
4
5
class Solution:
    def generateTheString(self, n: int) -> str:
        if n & 1:
            return "a"*n
        return "a"*(n-1) + "b"
class Solution:
    def generateTheString(self, n: int) -> str:
        if n & 1:
            return "a"*n
        return "a"*(n-1) + "b"

Concatenate string takes O(N) time and O(N) space.

–EOF (The Ultimate Computing & Technology Blog) —

GD Star Rating
loading...
342 words
Last Post: Teaching Kids Programming - 0/1 Knapsack: Length of the Longest Subsequence That Sums to Target (Recursion+Memoization=Top Down Dynamic Programming)
Next Post: Teaching Kids Programming - Last Moment Before All Ants Fall Out of a Plank

The Permanent URL is: Teaching Kids Programming – Algorithm to Generate a String With Characters That Have Odd Counts

Leave a Reply