力扣521(java&python)-最长特殊序列Ⅰ(简单)
2022/6/11 1:22:45
本文主要是介绍力扣521(java&python)-最长特殊序列Ⅰ(简单),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
题目:
给你两个字符串 a 和 b,请返回 这两个字符串中 最长的特殊序列 的长度。如果不存在,则返回 -1 。
「最长特殊序列」 定义如下:该序列为 某字符串独有的最长子序列(即不能是其他字符串的子序列) 。
字符串 s 的子序列是在从 s 中删除任意数量的字符后可以获得的字符串。
例如,"abc" 是 "aebdc" 的子序列,因为删除 "aebdc" 中斜体加粗的字符可以得到 "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 由小写英文字母组成
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/longest-uncommon-subsequence-i
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
解题思路:
脑筋急转弯题
1.如果两个字符串长度不相等,选择最长的那个字符串为最长子序列,必不会成为对方的子序列;
2.如果两个字符串长度相等
- 内容不等时,可以任意选择一个字符串作为最长子序列;
- 内容相等时,则任意一个子序列都会出现在两个字符串中,则没有最长子序列,返回 -1。
java代码:
python3代码:
小知识:
equals() 和 “==” 的区别:
==:运算符
- 可以使用在基本数据类型变量和引用数据类型的变量中;
- 如果比较的是基本数据类型变量:比较两个变量保存的数据是否相等(不一定类型要相同);
- 如果比较的是引用数据类型变量:比较两个对象的地址值是否相同。
equals():
- 是一个方法,而非运算符;
- 只能适用引用数据类型
- Object中equals()的定义:
public boolean equals(Object obj){ return (this==obj); }
这篇关于力扣521(java&python)-最长特殊序列Ⅰ(简单)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-28知识管理革命:文档软件的新玩法了解一下!
- 2024-11-28低代码应用课程:新手入门全攻略
- 2024-11-28哪些办公软件适合团队协作,且能够清晰记录每个阶段的工作进展?
- 2024-11-28全栈低代码开发课程:零基础入门到初级实战
- 2024-11-28拖动排序课程:轻松掌握课程拖动排序功能
- 2024-11-28如何高效管理数字化转型项目
- 2024-11-28SMART法则好用吗?有哪些项目管理工具辅助实现?
- 2024-11-28深度剖析:6 款办公软件如何构建设计团队项目可视化管理新生态?
- 2024-11-28HTTP缓存课程:新手入门指南
- 2024-11-28实战丨证券 HTAP 混合业务场景的难点问题应对