• 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);
    }
    
  • 相关阅读:
    项目人力资源管理
    以太网交换机
    邮件协议简单学习
    信息系统开发方法
    项目成本管理
    oracle学习笔记002---oracle的体系结构
    007 项目进度管理
    乘法逆元
    RMQ __ST
    中国剩余定理(CRT)
  • 原文地址:https://www.cnblogs.com/zhiyin1209/p/12940325.html
Copyright © 2020-2023  润新知