521. 最长特殊序列 Ⅰ『简单』

Posted zhiyin1209

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了521. 最长特殊序列 Ⅰ『简单』相关的知识,希望对你有一定的参考价值。

题目来源于力扣(LeetCode

一、题目

521. 最长特殊序列 Ⅰ

题目相关标签:字符串

技术图片

说明:

  1. 两个字符串长度均处于区间 [1 - 100]
  2. 字符串中的字符仅含有 ‘a‘~‘z‘

二、解题思路

  1. 分析题目知道:空序列为所有字符串的子序列,任何字符串为其自身的子序列

  2. 判断两个字符串是否相等,相等时,一定不存在特殊的子序列

  3. 判断两个字符串的长度,返回长度最大的一个字符串

    因为长度最大的那个字符串,我们可以使字符串本身作为一个特殊子序列,则长度较小的字符串中一定不包含该序列,所以得知,最长的特殊子序列是长度最大的那个值

三、代码实现

public static int findLUSlength(String a, String b) {
    // 两个字符串内容相同时,没有最长特殊序列
    if (a.equals(b)) {
        return -1;
    }
    // 内容不相同时返回长度较大的字符串长度
    // 因为长度较大的字符串自身一定不会是长度较小字符串的子序列
    return a.length() >= b.length() ? a.length() : b.length();
}

四、执行用时

技术图片

五、部分测试用例

public static void main(String[] args) {
    String a = "aba", b = "cdc";  // output:3
//    String a = "aaa", b = "bbb";  // output:3
//    String a = "aaa", b = "aaa";  // output:-1
    int result = findLUSlength(a, b);
    System.out.println(result);
}

以上是关于521. 最长特殊序列 Ⅰ『简单』的主要内容,如果未能解决你的问题,请参考以下文章

521. 最长特殊序列 Ⅰ

521 Longest Uncommon Subsequence I 最长特殊序列 Ⅰ

521.最长特殊序列 I

521.最长特殊序列 I

每日编程-451期Leetcode.521.最长特殊序列I

算法千题案例每日LeetCode打卡——81.最长特殊序列 Ⅰ