Сложность: easy
Дан массив строк
wordsDict и две разные строки, которые уже существуют в массиве: word1 и word2. Верните кратчайшее расстояние между этими двумя словами в списке.Пример:
Input: wordsDict = ["practice", "makes", "perfect", "coding", "makes"], word1 = "coding", word2 = "practice"
Output: 3
👨💻 Алгоритм:
1️⃣Начните с перебора всего массива для поиска первого слова. Каждый раз, когда вы находите встречу первого слова, запомните его позицию.
2️⃣При каждом обнаружении первого слова переберите массив в поисках ближайшего вхождения второго слова, сохраняя позицию и сравнивая расстояние с предыдущими найденными.
3️⃣Сохраняйте минимальное найденное расстояние между двумя словами и возвращайте его в качестве результата.
😎 Решение:
class Solution:
def shortestDistance(self, words, word1, word2):
minDistance = len(words)
for i in range(len(words)):
if words[i] == word1:
for j in range(len(words)):
if words[j] == word2:
minDistance = min(minDistance, abs(i - j))
return minDistance
Ставь 👍 и забирай 📚 Базу знаний