521. Longest Uncommon Subsequence I
Description
Given two strings a
and b
, return the length of the longest uncommon subsequence between a
and b
. If no such uncommon subsequence exists, return -1
.
An uncommon subsequence between two strings is a string that is a subsequence of exactly one of them.
Example 1:
Input: a = "aba", b = "cdc" Output: 3 Explanation: One longest uncommon subsequence is "aba" because "aba" is a subsequence of "aba" but not "cdc". Note that "cdc" is also a longest uncommon subsequence.
Example 2:
Input: a = "aaa", b = "bbb" Output: 3 Explanation: The longest uncommon subsequences are "aaa" and "bbb".
Example 3:
Input: a = "aaa", b = "aaa" Output: -1 Explanation: Every subsequence of string a is also a subsequence of string b. Similarly, every subsequence of string b is also a subsequence of string a. So the answer would be -1.
Constraints:
1 <= a.length, b.length <= 100
a
andb
consist of lower-case English letters.
Solutions
Solution 1: Quick Thinking
If strings a
and b
are equal, then they have no special sequences, return -1
; otherwise, return the length of the longer string.
The time complexity is $O(n)$, where $n$ is the length of the longer string among a
and b
. The space complexity is $O(1)$.
1 2 3 |
|
1 2 3 4 5 |
|
1 2 3 4 5 6 |
|
1 2 3 4 5 6 7 8 9 |
|
1 2 3 |
|
1 2 3 4 5 6 7 8 |
|