https://leetcode.com/problems/longest-uncommon-subsequence-i/description Easy

Условие

Даны две строки a и b. Требуется найти длину самой длинной строки, которая является несубпоследовательностью обеих строк. Несубпоследовательность — это строка, которая не является подпоследовательностью другой строки.

Если такой строки не существует, вернуть -1. В противном случае вернуть её длину.

Примеры

Input: a = "aba", b = "cdc” Output: 3 Explanation: Так как строки разные, любая из них может быть несубпоследовательностью другой, а максимальная длина — 3.

Input: a = "aaa", b = "bbb” Output: 3 Explanation: Так как строки разные, любая из них может быть несубпоследовательностью другой, а максимальная длина — 3.

Input: a = "aaa", b = "aaa” Output: -1 Explanation: Так как строки одинаковые, нет несубпоследовательности.

Решение

fun findLUSlength(a: String, b: String): Int {
    // Если строки равны, то нет уникальной несубпоследовательности
    if (a == b) return -1

    // Иначе длина самой длинной строки является длиной несубпоследовательности
    return maxOf(a.length, b.length)
}

Временная сложность

O(1) — Сравниваем строки и вычисляем их длины.

Пространственная сложность

O(1) — Используется постоянное количество памяти.