https://leetcode.com/problems/longest-uncommon-subsequence-i/description | Easy |
---|
Даны две строки a
и b
. Требуется найти длину самой длинной строки, которая является несубпоследовательностью обеих строк. Несубпоследовательность — это строка, которая не является подпоследовательностью другой строки.
Если такой строки не существует, вернуть -1
. В противном случае вернуть её длину.
Input:
a = "aba", b = "cdc”Output:
3Explanation:
Так как строки разные, любая из них может быть несубпоследовательностью другой, а максимальная длина — 3.
Input:
a = "aaa", b = "bbb”Output:
3Explanation:
Так как строки разные, любая из них может быть несубпоследовательностью другой, а максимальная длина — 3.
Input:
a = "aaa", b = "aaa”Output:
-1Explanation:
Так как строки одинаковые, нет несубпоследовательности.
fun findLUSlength(a: String, b: String): Int {
// Если строки равны, то нет уникальной несубпоследовательности
if (a == b) return -1
// Иначе длина самой длинной строки является длиной несубпоследовательности
return maxOf(a.length, b.length)
}
O(1) — Сравниваем строки и вычисляем их длины.
O(1) — Используется постоянное количество памяти.