522. Longest Uncommon Subsequence II

Difficulty:
Related Topics:
Similar Questions:

Problem

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.

  Example 1:

Input: strs = ["aba","cdc","eae"]
Output: 3

Example 2:

Input: strs = ["aaa","aaa","aa"]
Output: -1

  Constraints:

Solution (Java)

class Solution {
    public int findLUSlength(String[] strs) {
        int maxUncommonLen = -1;
        for (int indx1 = 0; indx1 < strs.length; indx1++) {
            boolean isCommon = false;
            for (int indx2 = 0; indx2 < strs.length; indx2++) {
                if (indx2 != indx1 && isSubSequence(strs[indx1], strs[indx2])) {
                    isCommon = true;
                    break;
                }
            }
            if (!isCommon) {
                maxUncommonLen = Math.max(maxUncommonLen, strs[indx1].length());
            }
        }
        return maxUncommonLen;
    }

    private boolean isSubSequence(String str1, String str2) {
        int indx1 = 0;
        for (int indx2 = 0; indx2 < str2.length(); indx2++) {
            if (str1.charAt(indx1) == str2.charAt(indx2)) {
                indx1++;
            }
            if (indx1 == str1.length()) {
                return true;
            }
        }
        return indx1 == str1.length();
    }
}

Explain:

nope.

Complexity: