Algorithm


Problem Name: 521. Longest Uncommon Subsequence I

Given two strings a and b, return the length of the longest uncommon subsequence between a and b. If the longest uncommon subsequence does not exist, return -1.

An uncommon subsequence between two strings is a string that is a subsequence of one but not the other.

A subsequence of a string s is a string that can be obtained after deleting any number of characters from s.

  • For example, "abc" is a subsequence of "aebdc" because you can delete the underlined characters in "aebdc" to get "abc". Other subsequences of "aebdc" include "aebdc", "aeb", and "" (empty string).

 

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.

 

Constraints:

  • 1 <= a.length, b.length <= 100
  • a and b consist of lower-case English letters.

Code Examples

#1 Code Example with C Programming

Code - C Programming


const findLUSlength = function(a, b) {
  return a === b ? -1 : Math.max(a.length, b.length);
};
Copy The Code & Try With Live Editor

Input

x
+
cmd
a = "aba", b = "cdc"

Output

x
+
cmd
3

#2 Code Example with Python Programming

Code - Python Programming


class Solution:
    def findLUSlength(self, a, b):
        """
        :type a: str
        :type b: str
        :rtype: int
        """
        return -1 if a == b else max(len(a), len(b))
Copy The Code & Try With Live Editor

Input

x
+
cmd
a = "aba", b = "cdc"

Output

x
+
cmd
3

#3 Code Example with C# Programming

Code - C# Programming


using System;

namespace LeetCode
{
    public class _0521_LongestUncommonSubsequenceI
    {
        public int FindLUSlength(string a, string b)
        {
            if (a == b) return -1;
            return Math.Max(a.Length, b.Length);
        }
    }
}
Copy The Code & Try With Live Editor

Input

x
+
cmd
a = "aaa", b = "bbb"

Output

x
+
cmd
3
Advertisements

Demonstration


Previous
#520 Leetcode Detect Capital Solution in C, C++, Java, JavaScript, Python, C# Leetcode
Next
#522 Leetcode Longest Uncommon Subsequence II Solution in C, C++, Java, JavaScript, Python, C# Leetcode