Java实现 LeetCode 522 最长特殊序列 II(查找最长的非子序列的长度)
2023-09-14 08:58:04 时间
522. 最长特殊序列 II
给定字符串列表,你需要从它们中找出最长的特殊序列。最长特殊序列定义如下:该序列为某字符串独有的最长子序列(即不能是其他字符串的子序列)。
子序列可以通过删去字符串中的某些字符实现,但不能改变剩余字符的相对顺序。空序列为所有字符串的子序列,任何字符串为其自身的子序列。
输入将是一个字符串列表,输出是最长特殊序列的长度。如果最长特殊序列不存在,返回 -1 。
示例:
输入: “aba”, “cdc”, “eae”
输出: 3
提示:
所有给定的字符串长度不会超过 10 。
给定字符串列表的长度将在 [2, 50 ] 之间。
PS;
查找最长的非子序列问题
class Solution {
public int findLUSlength(String[] strs) {
int ret = -1;
if (strs == null || strs.length == 0) {
return ret;
}
int len = strs.length;
for (int i = 0; i < len; i++) {
boolean isSubsequence = false;
for (int j = 0; j < len; j++) {
if (i != j && isSubsequence(strs[i], strs[j])) {
isSubsequence = true;
break;
}
}
if (!isSubsequence) {
ret = Math.max(ret, strs[i].length());
}
}
return ret;
}
public boolean isSubsequence(String x, String y) {
int j = 0;
for (int i = 0; i < y.length() && j < x.length(); i++)
if (x.charAt(j) == y.charAt(i))
j++;
return j == x.length();
}
}
相关文章
- java calendar获取年_Java Calendar获取年、月、日、时间,设置年、月、日
- 学java用什么编译器_学习Java用什么编译软件好
- java中scanner意思_Java中的Scanner
- 如何用命令行编译、运行第一个java程序(Hello World!)[通俗易懂]
- java启动器_JAVA基础:Java 启动器如何查找类
- Java封装详解,很简单
- java工作流_Java 实现简单工作流
- Java使用OpenCV进行答题卡识别
- java 正则表达式语法_JAVA正则表达式语法大全
- MySQL字段类型如何转为java_Java JDBC中,MySQL字段类型到JAVA类型的转换
- 手机版java编译器_Java编译器[通俗易懂]
- java executeupdate_Java自学-JDBC execute与executeUpdate的区别
- java如何打印菱形_JAVA输出菱形
- netty权威指南读书笔记——走进java nio
- JAVA外文参考文献_java参考文献近五年
- C、C++ 和 Java 中的浮点运算和关联性
- java 使用 Common IO 包的 FileUtils 将文件大小转成适合阅读的格式详解编程语言
- Java四类八种数据类型详解编程语言
- 实现Java程序操作MySQL数据库(java调用mysql)
- Linux 卸载Java:简单步骤完成(linux卸载java)
- 系统命令Java实现Linux系统命令调用的探究(java调用linux)
- MySQL驱动程序:Java集成简易操作(mysql的java驱动)
- 时间使用Java设置Redis中Key的过期时间(redisjava过期)
- 面试前准备:Java技术和Redis快速入门(java面试redis)
- 处理使用Java操作Redis实现过期处理(redisjava过期)
- 互操作Java与Redis缓存互操作实践(redis缓存与java)
- Java编程在Linux上的应用(java编程 linux)
- MSSQL与Java的数据库连接实践(mssql连接java)
- Novice:学习Java 7 在Linux上的简单入门(java 7 linux)
- Java程序员的MySQL数据库之旅(java操作mysql数据库)
- Java程序在Linux系统中实现命令操作(java运行linux命令)
- Redis面试中Java相关技术面试题汇总(redis面试题java)
- java多线程中的异常处理机制简析
- java初学者必须理解这几个问题