Проверьте, является ли данная строка префиксным подмассивом данного массива

Опубликовано: 20 Сентября, 2022

Учитывая строку str и массив слов word[] , задача состоит в том, чтобы определить, является ли str строкой префикса word[] .

Примеры:

Input: str = “indiaismycountry”,  
word[] = {“india”, “is”, “my”, “country”, “and”, “i”, “love”, “india”}
Output: true
Explanation: String str can be made by concatenating “india”, “is”, “my” and “country” together.

Input: str = “indianism”,  
word[] = {“india”, “is”, “my”, “country”, “and”, “i”, “love”, “india”}
Output: false
Explanation: It is impossible to make str using the prefixes of the word array.

Подход: Это простая проблема, связанная с реализацией. Выполните шаги, указанные ниже:

  • Возьмите пустую строку с именем ans .
  • Переберите массив слов и продолжайте добавлять каждый элемент массива слов в ans .
  • После добавления к ans , сравнивая его с s , если они оба совпадают, просто верните true, иначе продолжайте.
  • Если итерация заканчивается и an не совпадает с s , тогда возвращается false.

Ниже приведена программа C++ для реализации описанного выше подхода.


Временная сложность: O(N), N — размер массива слов.
Пространственная сложность: O(M), где M — длина строки

РЕКОМЕНДУЕМЫЕ СТАТЬИ