VOOZH about

URL: https://www.geeksforgeeks.org/dsa/sentence-that-contains-all-the-given-phrases/

⇱ Sentence that contains all the given phrases - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

Sentence that contains all the given phrases

Last Updated : 15 Apr, 2023

Given a list of sentences and a list of phrases. The task is to find which sentence(s) contain all the words in a phrase and for every phrase print the sentences number that contains the given phrase. Constraint: A word cannot be a part of more than 10 sentences. Examples:

Input: 

Sentences: 1. Strings are an array of characters. 2. Sentences are an array of words. 

Phrases: 1. an array of 2. sentences are strings 

Output: Phrase1 is present in sentences: 1,2 Phrase2 is present in sentences: None Since each word in phrase 1 exists in both the sentences, but all the words in second phrase do not exist in either.

 Input: 

Sentences: 1. Sets in python are a hash table representation of arrays. 2. Searching in Sets are a function of time complexity O(1). 3. Sets only contain unique elements, and have no order. 

Phrases: 1. Sets are a 2. Searching in 

Output: Phrase1 is present in sentences: 1, 2 Phrase2 is present in sentences: 2

Approach: For each Phrase, we have to find the sentences which contain all the words of the phrase. So, for each word in the given phrase, we check if a sentence contains it. We do this for each sentence. This process of searching may become faster if the words in the sentence are stored in a set instead of a list. Below is the implementation of above approach: 

Output:
Phrase1:
1 2
Phrase2:
NONE

Time complexity: O(SPW)
Space complexity: O(SW)

      where S is the number of sentences and W is the average number of words per sentence and  P is the number of phrases and W is the average number of words per phrase.

Comment
Article Tags: