У меня есть список, который содержит 100 000+ слов / фраз, отсортированных по длине
let list = [“string with spaces”, “another string”, “test”, ...]
Мне нужно найти самый длинный элемент в списке выше, который находится внутри данного предложения. Это мое первоначальное решение
for item in list {
if sentence == item
|| sentence.startsWith(item + “ “)
|| sentence.contains(“ “ + item + “ “)
|| sentence.endsWith(“ “ + item) {
...
break
}
}
Эта проблема, с которой я сталкиваюсь, заключается в том, что это слишком медленно для моего приложения. Есть ли другой подход, который я мог бы сделать, чтобы сделать это быстрее?