力扣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)-最长特殊序列Ⅰ(简单)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-09百万架构师第十二课:源码分析:Spring 源码分析:Spring系统概述及IOC实现原理|JavaGuide
- 2025-01-08如何用关键链方法突破项目管理瓶颈?
- 2025-01-08电商人必看!6 款提升团队协作与客户满意度软件!
- 2025-01-08电商团队管理混乱?快用这 6 款软件优化协作流程!
- 2025-01-08短剧制作效率低?试试这5款任务管理工具
- 2025-01-08高效应对电商高峰,6 款团队协作软件大揭秘!
- 2025-01-08为什么外贸人都爱上了在线协作工具?
- 2025-01-08提升工作效率,从这些任务管理工具开始
- 2025-01-08新年电商订单暴增,必备的 6 款可视化协作办公软件有哪些?
- 2025-01-08短剧制作经理必备技能与工具全解析