给定一个长度为 n 的字符串列表,返回他们中最长的特殊子序列的长度。 特殊子序列的定义是:某个字符串的某一个子序列(不一定连续),无法在另一个字符串中找到同样的子序列则称为特殊子序列。 数据范围:, 字符串长度满足
区块链毕设网qklbishe.com为您提供问题的解答
给定一个长度为 n 的字符串列表,返回他们中最长的特殊子序列的长度。
特殊子序列的定义是:某个字符串的某一个子序列(不一定连续),无法在另一个字符串中找到同样的子序列则称为特殊子序列。
数据范围:, 字符串长度满足
import java.util.*; public class Solution { public int longestUniqueSubsequence (ArrayList<String> strs) { int ret = -1; int j = 0; for(int i = 0;i < strs.size();i ++) { for(j = 0;j < strs.size();j ++) { //查看str.get(i)是否为strs中某一个字符串的子序列 if(i == j) continue; //不可以和自己比较 if(func(strs.get(i),strs.get(j))) { break; //str.get(i)是strs.get(j)的子序列 } } if(j == strs.size()) { //没有一个字符串中有str.get(i)这样的子序列 //说明该序列是特殊子序列 ret = Math.max(ret,strs.get(i).length()); } } return ret; } //查看字符串a是否是字符串b的子序列 public boolean func(String a,String b) { int j = 0; for(int i = 0;i < b.length() && j < a.length();i ++) { if(a.charAt(j) == b.charAt(i)) { j++; } } //如果j == a.length说明a中所有的字母都在b中找到了,a为b的子序列 return j == a.length(); } }
29:29
以上就是关于问题给定一个长度为 n 的字符串列表,返回他们中最长的特殊子序列的长度。 特殊子序列的定义是:某个字符串的某一个子序列(不一定连续),无法在另一个字符串中找到同样的子序列则称为特殊子序列。
数据范围:, 字符串长度满足的答案
欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。
区块链NFT链游项目方科学家脚本开发培训