# Solving Leetcode Interviews in Seconds with AI: Longest Uncommon Subsequence II


	# Introduction
	In this blog post, we will explore how to solve the LeetCode problem "522" using AI. LeetCode is a popular platform for preparing for coding interviews, and with the help of AI tools like [Chatmagic](https://www.chatmagic.app), we can generate solutions quickly and efficiently - helping you pass the interviews and get the job offer without having to study for months.

	# Problem Statement
	> Given an array of strings strs, return the length of the longest uncommon subsequence between them. If the longest uncommon subsequence does not exist, return -1. An uncommon subsequence between an array of strings is a string that is a subsequence of one string but not the others. 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: strs = ["aba","cdc","eae"] Output: 3 Example 2: Input: strs = ["aaa","aaa","aa"] Output: -1    Constraints:  2 <= strs.length <= 50 1 <= strs[i].length <= 10 strs[i] consists of lowercase English letters.  

	# Explanation
	Here's the breakdown of the approach, complexity, and the Python code:

*   **High-Level Approach:**
    *   Iterate through each string in the input array `strs`.
    *   For each string, check if it's a subsequence of any other string in `strs`.
    *   If a string is not a subsequence of any other string, it's a candidate for the longest uncommon subsequence. Keep track of the maximum length found so far.

*   **Complexity:**
    *   Runtime Complexity: O(n^2 * m), where n is the number of strings and m is the average length of the strings.
    *   Storage Complexity: O(1)

	
	# Code
	```python
	def isSubsequence(s, t):
    """
    Checks if string s is a subsequence of string t.
    """
    i = 0
    j = 0
    while i < len(s) and j < len(t):
        if s[i] == t[j]:
            i += 1
        j += 1
    return i == len(s)

def findLUSlength(strs):
    """
    Finds the length of the longest uncommon subsequence.
    """
    max_len = -1
    for i in range(len(strs)):
        is_uncommon = True
        for j in range(len(strs)):
            if i != j and isSubsequence(strs[i], strs[j]):
                is_uncommon = False
                break
        if is_uncommon:
            max_len = max(max_len, len(strs[i]))
    return max_len
	```
			
