返回介绍

solution / 0500-0599 / 0521.Longest Uncommon Subsequence I / README

发布于 2024-06-17 01:03:59 字数 2830 浏览 0 评论 0 收藏 0

521. 最长特殊序列 Ⅰ

English Version

题目描述

给你两个字符串 a 和 b,请返回 _这两个字符串中 最长的特殊序列 _ 的长度。如果不存在,则返回 -1 。

「最长特殊序列」 定义如下:该序列为 某字符串独有的最长子序列(即不能是其他字符串的子序列) 。

字符串 s 的子序列是在从 s 中删除任意数量的字符后可以获得的字符串。

  • 例如,"abc""aebdc" 的子序列,因为删除 "a_e_b_d_c" 中斜体加粗的字符可以得到 "abc""aebdc" 的子序列还包括 "aebdc""aeb""" (空字符串)。

 

示例 1:

输入: a = "aba", b = "cdc"
输出: 3
解释: 最长特殊序列可为 "aba" (或 "cdc"),两者均为自身的子序列且不是对方的子序列。

示例 2:

输入:a = "aaa", b = "bbb"
输出:3
解释: 最长特殊序列是 "aaa" 和 "bbb" 。

示例 3:

输入:a = "aaa", b = "aaa"
输出:-1
解释: 字符串 a 的每个子序列也是字符串 b 的每个子序列。同样,字符串 b 的每个子序列也是字符串 a 的子序列。

 

提示:

  • 1 <= a.length, b.length <= 100
  • a 和 b 由小写英文字母组成

解法

方法一

class Solution:
  def findLUSlength(self, a: str, b: str) -> int:
    return -1 if a == b else max(len(a), len(b))
class Solution {
  public int findLUSlength(String a, String b) {
    return a.equals(b) ? -1 : Math.max(a.length(), b.length());
  }
}
class Solution {
public:
  int findLUSlength(string a, string b) {
    return a == b ? -1 : max(a.size(), b.size());
  }
};
func findLUSlength(a string, b string) int {
  if a == b {
    return -1
  }
  if len(a) > len(b) {
    return len(a)
  }
  return len(b)
}
function findLUSlength(a: string, b: string): number {
  return a != b ? Math.max(a.length, b.length) : -1;
}
impl Solution {
  pub fn find_lu_slength(a: String, b: String) -> i32 {
    if a == b {
      return -1;
    }
    a.len().max(b.len()) as i32
  }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文