LeetCode Longest Uncommon Subsequence I

LeetCode Longest Uncommon Subsequence I 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:
  1. Both strings’ lengths will not exceed 100.
  2. Only letters from a ~ z will appear in input strings.

求两个字符串的最长公共子序列。以前都是用DP求最长公共子序列,现在是要求最长公共子序列。 其实很简单的一个题,如果两个字符串完全相等的话,肯定没有公共子序列的,因为A字符串的任意一个子序列一定也是B字符串的子序列,所以返回-1。但是如果A和B不相等,则可以取A,B中较长的字符串,假设是A的话,则A肯定不是B的子序列,因为A的长度大于B,而且A不等于B。 所以就很简单了,如果A和B相等的话,返回-1,否则返回A,B中较大的长度。 代码如下: [cpp] class Solution { public: int findLUSlength(string a, string b) { return a == b ? -1 : max(a.size(), b.size()); } }; [/cpp] 本代码提交AC,用时0MS。]]>

1 thought on “LeetCode Longest Uncommon Subsequence I

  1. Pingback: LeetCode Longest Uncommon Subsequence II | bitJoy > code

Leave a Reply

Your email address will not be published. Required fields are marked *