Solving Leetcode Interviews in Seconds with AI: Check If a Word Occurs As a Prefix of Any Word in a Sentence
Introduction
In this blog post, we will explore how to solve the LeetCode problem "1455" 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
Given a sentence that consists of some words separated by a single space, and a searchWord, check if searchWord is a prefix of any word in sentence. Return the index of the word in sentence (1-indexed) where searchWord is a prefix of this word. If searchWord is a prefix of more than one word, return the index of the first word (minimum index). If there is no such word return -1. A prefix of a string s is any leading contiguous substring of s. Example 1: Input: sentence = "i love eating burger", searchWord = "burg" Output: 4 Explanation: "burg" is prefix of "burger" which is the 4th word in the sentence. Example 2: Input: sentence = "this problem is an easy problem", searchWord = "pro" Output: 2 Explanation: "pro" is prefix of "problem" which is the 2nd and the 6th word in the sentence, but we return 2 as it's the minimal index. Example 3: Input: sentence = "i am tired", searchWord = "you" Output: -1 Explanation: "you" is not a prefix of any word in the sentence. Constraints: 1 <= sentence.length <= 100 1 <= searchWord.length <= 10 sentence consists of lowercase English letters and spaces. searchWord consists of lowercase English letters.
Explanation
Here's the breakdown of the solution:
- Iterate through words: Split the sentence into individual words and iterate through them along with their index.
- Prefix check: For each word, check if the
searchWordis a prefix of the current word. Return first match: If a match is found, immediately return the 1-indexed position of the word. If no match is found after iterating through all words, return -1.
Runtime Complexity: O(N * M), where N is the number of words in the sentence and M is the length of the
searchWord.- Storage Complexity: O(N), due to the space used for splitting the sentence into a list of words.
Code
def isPrefixOfWord(sentence: str, searchWord: str) -> int:
words = sentence.split()
for i, word in enumerate(words):
if word.startswith(searchWord):
return i + 1
return -1