Skip to main content

Command Palette

Search for a command to run...

Solving Leetcode Interviews in Seconds with AI: Replace All Digits with Characters

Updated
2 min read

Introduction

In this blog post, we will explore how to solve the LeetCode problem "1844" using AI. LeetCode is a popular platform for preparing for coding interviews, and with the help of AI tools like Chatmagic, we can generate solutions quickly and efficiently - helping you pass the interviews and get the job offer without having to study for months.

Problem Statement

You are given a 0-indexed string s that has lowercase English letters in its even indices and digits in its odd indices. You must perform an operation shift(c, x), where c is a character and x is a digit, that returns the xth character after c. For example, shift('a', 5) = 'f' and shift('x', 0) = 'x'. For every odd index i, you want to replace the digit s[i] with the result of the shift(s[i-1], s[i]) operation. Return s after replacing all digits. It is guaranteed that shift(s[i-1], s[i]) will never exceed 'z'. Note that shift(c, x) is not a preloaded function, but an operation to be implemented as part of the solution. Example 1: Input: s = "a1c1e1" Output: "abcdef" Explanation: The digits are replaced as follows: - s[1] -> shift('a',1) = 'b' - s[3] -> shift('c',1) = 'd' - s[5] -> shift('e',1) = 'f' Example 2: Input: s = "a1b2c3d4e" Output: "abbdcfdhe" Explanation: The digits are replaced as follows: - s[1] -> shift('a',1) = 'b' - s[3] -> shift('b',2) = 'd' - s[5] -> shift('c',3) = 'f' - s[7] -> shift('d',4) = 'h' Constraints: 1 <= s.length <= 100 s consists only of lowercase English letters and digits. shift(s[i-1], s[i]) <= 'z' for all odd indices i.

Explanation

Here's an efficient solution to the problem:

  • Iterate through the string s at odd indices.
  • For each odd index i, calculate the shifted character using the character at the previous index s[i-1] and the digit at the current index s[i].
  • Replace the digit at the current index with the calculated shifted character.

  • Runtime Complexity: O(n), where n is the length of the string. Storage Complexity: O(1), as we modify the string in-place.

Code

    def replace_digits(s: str) -> str:
    """
    Replaces digits in a string with the shifted character based on the previous character.

    Args:
        s: The input string with lowercase letters at even indices and digits at odd indices.

    Returns:
        The modified string with digits replaced by shifted characters.
    """

    s_list = list(s)  # Convert string to a list for in-place modification
    for i in range(1, len(s), 2):
        s_list[i] = chr(ord(s_list[i - 1]) + int(s_list[i]))

    return "".join(s_list)

More from this blog

C

Chatmagic blog

2894 posts