Swift 5.3 / Задача № 4 / Идентичны ли две строки между собой?

preview_player
Показать описание
Друзья, это 4-e видео из курса "Решение задач на языке Swift 5.3"
Надеюсь вам было интересно. Если да, то подпишитесь на канал, в дальнейшем мы разберем более 50 задач!
Рекомендации по теме
Комментарии
Автор

Кажется, ошибка в названии. В видео разбор задачи "Содержит ли одна строка другую?"

mushii_shi
Автор

Огромное спасибо за ваши видео! Лаконично и понятно!

В комментариях уже пробовали обойтись без contains(), вот моя попытка:

extension String {
func containsString(_ input: String) -> Bool {
for i in 0..<count {
if i + input.count > count { break }
let currentIndex = index(startIndex, offsetBy: i)
let endIndex = index(currentIndex, offsetBy: input.count)
if == input.lowercased() {
return true
}
}
return false
}
}

DmitryYaskov
Автор

Скорее всего на собесах будут просить написать без использования contains.
Поэтому решил написать альтернативное решение.
С индексами правда пришлось повозиться, так вроде норм.)

func contains(str1: String, str2: String) -> Bool {
let str1lower = str1.lowercased()
let str2lower = str2.lowercased()

for (index, _) in str1lower.enumerated() {
let startIndex = str1lower.index(str1lower.startIndex, offsetBy: index)
let endIndex = str1lower.index(startIndex, offsetBy: str2.count - 1)

if
endIndex > str2.endIndex ||
== str2lower
{
return true
}
}

return false
}

petrun