Найдите минимальное расстояние между данными двумя словами
Опубликовано: 23 Февраля, 2023
Учитывая список слов , за которыми следуют два слова, задача состоит в том, чтобы найти минимальное расстояние между заданными двумя словами в списке слов.
Примеры :
Input: S = { “the”, “quick”, “brown”, “fox”, “quick”}, word1 = “the”, word2 = “fox”
Output: 3
Explanation: Minimum distance between the words “the” and “fox” is 3Input: S = {“geeks”, “for”, “geeks”, “contribute”, “practice”}, word1 = “geeks”, word2 = “practice”
Output: 2
Explanation: Minimum distance between the words “geeks” and “practice” is 2
Подход: выполните шаги, чтобы решить эту проблему:
- Инициализируйте переменные d1 = -1, d2 = -1 и ans = INT_MAX.
- Пройдите по строке и проверьте:
- Если s[i] равно word1 , тогда обновите d1 = i.
- Если s[i] равно word2 , тогда обновите d2 = i.
- Если d1 != -1 и d2 != -1, то обновить ans = min(ans, abs(d1-d2)).
- После обхода строки верните ans .
Ниже приведена реализация описанного выше подхода.
Временная сложность: O(N)
Вспомогательное пространство: O(1)