Skip to main content

Command Palette

Search for a command to run...

Solving Leetcode Interviews in Seconds with AI: Truncate Sentence

Updated
2 min read

Introduction

In this blog post, we will explore how to solve the LeetCode problem "1816" 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

A sentence is a list of words that are separated by a single space with no leading or trailing spaces. Each of the words consists of only uppercase and lowercase English letters (no punctuation). For example, "Hello World", "HELLO", and "hello world hello world" are all sentences. You are given a sentence s​​​​​​ and an integer k​​​​​​. You want to truncate s​​​​​​ such that it contains only the first k​​​​​​ words. Return s​​​​​​ after truncating it. Example 1: Input: s = "Hello how are you Contestant", k = 4 Output: "Hello how are you" Explanation: The words in s are ["Hello", "how" "are", "you", "Contestant"]. The first 4 words are ["Hello", "how", "are", "you"]. Hence, you should return "Hello how are you". Example 2: Input: s = "What is the solution to this problem", k = 4 Output: "What is the solution" Explanation: The words in s are ["What", "is" "the", "solution", "to", "this", "problem"]. The first 4 words are ["What", "is", "the", "solution"]. Hence, you should return "What is the solution". Example 3: Input: s = "chopper is not a tanuki", k = 5 Output: "chopper is not a tanuki" Constraints: 1 <= s.length <= 500 k is in the range [1, the number of words in s]. s consist of only lowercase and uppercase English letters and spaces. The words in s are separated by a single space. There are no leading or trailing spaces.

Explanation

Here's the breakdown:

  • Iterate and Count: Iterate through the input string s, counting the number of words encountered until we reach k.
  • Substring Extraction: Extract the substring of s up to the index where the k-th word ends.

  • Runtime Complexity: O(n), where n is the length of the string s.

  • Storage Complexity: O(1). We are modifying the original string in place or creating a substring of the original string.

Code

    def truncateSentence(s: str, k: int) -> str:
    """
    Truncates a sentence to contain only the first k words.

    Args:
        s: The input sentence.
        k: The number of words to keep.

    Returns:
        The truncated sentence.
    """
    count = 0
    for i in range(len(s)):
        if s[i] == ' ':
            count += 1
            if count == k:
                return s[:i]
    return s

More from this blog

C

Chatmagic blog

2894 posts