LongestUncommonSubsequenceI [source code]

public class LongestUncommonSubsequenceI {
    public int findLUSlength(String a, String b) {
        if (a.equals(b)) return -1;
        return Math.max(a.length(), b.length());
    }
}

一个小技巧, 在想这种 string 问题的时候, 因为我们毕竟是不需要考虑 semantics 的, 所以其实所有的 letter 对于我们来说其实就跟digit 没有区别. 脑子里想问题的时候就可以直接用数字组成的 string 来思考, 毕竟数字好记忆, 对于理解也更敏感;

除开这个以外, 这个算法基本没有什么好说的, 就是一个类似脑筋急转弯的东西. 我这个写法的速度是5ms, 最快的是3ms, 但是代码其实是一样的, 所以只是一个单纯的波动;


Problem Description

Given a group of two strings, you need to find the longest
uncommon subsequence of this group of two strings. The longest
uncommon subsequence is defined as the longest subsequence of
one of these strings and this subsequence should not be any
subsequence of the other strings.

A subsequence is a sequence that can be derived from one sequence
by deleting some characters without changing the order of the
remaining elements. Trivially, any string is a subsequence of
itself and an empty string is a subsequence of any string.

The input will be two strings, and the output needs to be the
length of the longest uncommon subsequence. If the longest
uncommon subsequence doesn't exist, return -1.

Example 1:
Input: "aba", "cdc"
Output: 3
Explanation: The longest uncommon subsequence is "aba" (or "cdc"),
because "aba" is a subsequence of "aba",
but not a subsequence of any other strings in the group of two strings.
Note:

Both strings' lengths will not exceed 100.
Only letters from a ~ z will appear in input strings.
Subscribe to see which companies asked this question.

Hide Tags String
Hide Similar Problems (M) Longest Uncommon Subsequence II

results matching ""

    No results matching ""