zoukankan      html  css  js  c++  java
  • Leetcode#521. Longest Uncommon Subsequence I(最长特殊序列 Ⅰ)

    题目描述

    给定两个字符串,你需要从这两个字符串中找出最长的特殊序列。最长特殊序列定义如下:该序列为某字符串独有的最长子序列(即不能是其他字符串的子序列)。

    子序列可以通过删去字符串中的某些字符实现,但不能改变剩余字符的相对顺序。空序列为所有字符串的子序列,任何字符串为其自身的子序列。

    输入为两个字符串,输出最长特殊序列的长度。如果不存在,则返回 -1。

    示例 :

    输入: "aba", "cdc"
    输出: 3
    解析: 最长特殊序列可为 "aba" (或 "cdc")
    

    说明:

    1. 两个字符串长度均小于100。
    2. 字符串中的字符仅含有 'a'~'z'。

    思路

    比较两个字符串的长度,若不相等,则返回长度的较大值,若相等则再判断两个字符串是否相同,若相同则返回-1,否则返回长度。

    代码实现

    package String;
    
    /**
     * 521. Longest Uncommon Subsequence I(最长特殊序列 Ⅰ)
     * 给定两个字符串,你需要从这两个字符串中找出最长的特殊序列。最长特殊序列定义如下:该序列为某字符串独有的最长子序列(即不能是其他字符串的子序列)。
     * 子序列可以通过删去字符串中的某些字符实现,但不能改变剩余字符的相对顺序。空序列为所有字符串的子序列,任何字符串为其自身的子序列。
     * 输入为两个字符串,输出最长特殊序列的长度。如果不存在,则返回 -1。
     */
    public class Solution521 {
        public static void main(String[] args) {
            Solution521 solution521 = new Solution521();
            String a = "aba";
            String b = "cdc";
            System.out.println(solution521.findLUSlength(a, b));
        }
    
        /**
         * 比较两个字符串的长度,若不相等,则返回长度的较大值,若相等则再判断两个字符串是否相同,若相同则返回-1,否则返回长度。
         *
         * @param a
         * @param b
         * @return
         */
        public int findLUSlength(String a, String b) {
            int lenA = a.length();
            int lenB = b.length();
            if (lenA != lenB) {
                return Math.max(lenA, lenB);
            } else {
                if (a.equals(b)) {
                    return -1;
                } else {
                    return lenA;
                }
            }
        }
    }
    
  • 相关阅读:
    hbase Compaction
    hadoop集群 动态添加或删除节点
    Hadoop节点迁移
    Spark程序运行常见错误解决方法以及优化
    用python执行sql来验证数据是否准时导入了目标库
    kylin2.3版本启用jdbc数据源(可以直接通过sql生成hive表,省去手动导数据到hive,并建hive表的麻烦)
    phoenix 二级索引使用实践
    jenkins任务失败,发送邮件通知
    Coolite学习
    MySql连接和授权命令
  • 原文地址:https://www.cnblogs.com/wupeixuan/p/9579558.html
Copyright © 2011-2022 走看看