LeetCode-day15-522. 最长特殊序列 II

LeetCode-day15-522. 最长特殊序列 II

  • 题目描述
  • 示例
    • 示例1:
    • 示例2:
  • 思路
  • 代码

题目描述

给定字符串列表 strs ,返回其中 最长的特殊序列 的长度。如果最长特殊序列不存在,返回 -1 。

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

s 的 子序列可以通过删去字符串 s 中的某些字符实现。

例如,“abc” 是 “aebdc” 的子序列,因为您可以删除"aebdc"中的加粗字符来得到 “abc” 。“aebdc"的子序列还包括"aebdc”、 “aeb” 和 “” (空字符串)。

示例

示例1:

输入: strs = [“aba”,“cdc”,“eae”]
输出: 3

示例2:

输入: strs = [“aaa”,“aaa”,“aa”]
输出: -1

思路

枚举+判断子序列

把 strs 按照长度从大到小排序。一旦枚举到符合要求的字符串,就立刻返回其长度。如果没有符合要求的字符串,返回 −1。

代码中next:的作用是:在找到非公共子序列时跳出内层循环。类似goto;

代码

    public static int findLUSlength(String[] strs) {Arrays.sort(strs,(a,b) -> b.length()-a.length());next:for (int i = 0; i < strs.length; i++) {for (int j = 0; j < strs.length; j++) {if (j != i && isSubseq(strs[i],strs[j])){continue next;}}return strs[i].length();}return -1;}private static boolean isSubseq(String s, String t) {int i =0;for (char c : t.toCharArray()) {if (s.charAt(i) == c && ++i == s.length()){return true;}}return false;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/854797.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用java 做一个模拟的菜单及对话框测试

首先我们要创建一个Menu 的java类 然后接着给上代码 代码如下&#xff1a; package test01;import javax.swing.*;public class Menu extends JFrame{JMenuBar jmb;JMenu jmfile,jmedit,jmhelp;JMenuItem jminew,jmiopen,jmisave,jmisaveas,jmiexit,jmicut,jmicopy,jmipast…

gridview自带编辑功能如何判断用户修改的值的合法性

在使用GridView的编辑功能更新值时&#xff0c;确保输入的值合法性是十分重要的。为了实现这一点&#xff0c;你可以在GridView的RowUpdating事件中加入代码来检查用户输入的值。如果发现输入的值不合法&#xff0c;你可以取消更新操作并向用户显示错误消息。下面是如何实现的步…

小区噪音监测管理系统设计

一、引言 随着城市化进程的加快&#xff0c;小区居民对于居住环境的要求日益提高。其中&#xff0c;噪音污染已成为影响居民生活质量的重要因素。因此&#xff0c;设计一套小区噪音监测管理系统&#xff0c;对于提升居民的生活品质和小区管理效率具有重要意义。本文将详细阐述…

一五二、go缓存GCache和Go-Redis

GCache 和 Go-Redis 都是 Go 语言中常用的缓存解决方案&#xff0c;但它们适用于不同的场景。以下是它们各自的特点和适用场景。 GCache GCache 是一个内存缓存库&#xff0c;主要用于在单个应用程序实例中缓存数据。它具有以下特点&#xff1a; 本地缓存&#xff1a;缓存数…

React useReducer 使用及 useImmerReducer

useReducer 实际上是以数组上的 reduce() 方法命名的。 传递给 reduce 的函数被称为 “reducer”。它接受 目前的结果 和 当前的值&#xff0c;然后返回 下一个结果。 React 中的 reducer 和这个是一样的&#xff1a;它们都接受 目前的状态 和 action &#xff0c;然后返回 下一…

数据资产驱动的智能化决策:深度剖析数据资产在提升企业决策效率与准确性中的关键作用

在数字化、信息化日益普及的今天&#xff0c;数据已经成为企业发展的重要资产。数据资产不仅能够帮助企业更好地了解市场需求、优化业务流程&#xff0c;还能在决策过程中提供科学、精准的支持。本文将深入剖析数据资产在提升企业决策效率与准确性中的关键作用&#xff0c;探讨…

【镜像制作】docker命令的参数解释及用法

文章目录 简介一.docker参数详解1.1 用法&#xff1a;docker[OPTIONS]COMMAND1.2 管理命令&#xff1a;1.3 Swarm命令&#xff1a;1.4 命令&#xff1a;1.5全局选项&#xff1a; 二.容器操作相关2.1.查看容器列表2.2.启动容器2.3.停止容器2.4.强制停止容器2.5.重启容器2.6.查看…

电脑文件防泄密软件——天锐绿盾 - 中科数安—— 哪个好

在选择电脑文件防泄密软件时&#xff0c;天锐绿盾和中科数安都是值得考虑的选项。以下是对这两款软件的详细比较&#xff1a; www.drhchina.com PC地址&#xff1a; https://isite.baidu.com/site/wjz012xr/2eae091d-1b97-4276-90bc-6757c5dfedee 功能全面性&#xff1a; 天锐…

Java内存模型(JMM)详解

文章目录 1、Java内存模型2、JMM的核心概念1&#xff09;主内存与工作内存2&#xff09;内存可见性3&#xff09;JMM的三大特性&#xff1a;原子性、可见性、有序性。 3、JMM中的八种操作4、Happens-before 规则5、样例&#xff1a; 1、Java内存模型 Java内存模型&#xff08;…

模型裁切中的kml导入失败,不提示导入失败的话看不见kml范围线是怎么回事?

答&#xff1a;kml需要面格式&#xff0c;可以在dasview面标注绘制导出 DasViewer是由大势智慧自主研发的免费的实景三维模型浏览器,采用多细节层次模型逐步自适应加载技术,让用户在极低的电脑配置下,也能流畅的加载较大规模实景三维模型,提供方便快捷的数据浏览操作。 DasVi…

tRNAscan-SE-2.0:安装尝试

2020.11.12丨tRNAscan-SE-2.0最新安装流程_trnascan se v2.0.7-CSDN博客 参照大佬的尝试一下 在下面网站看最新的安装包 tRNAscan-SE Search Server tRNAscan-SE-2.0.12.tar.gz 开始安装 tar -xvzf trnascan-se-2.0.12.tar.gz cd tRNAscan-SE-2.0 ./configure make sudo …

系统安全(补充)

基于行的自主访问控制的方法有能力表、前缀表、口令基于列的自主访问控制的方法有访问控制表、保护位口令是当前大多数网络实施访问控制进行身份鉴别的重要依据&#xff0c;因此&#xff0c;口令管理尤为重要&#xff0c;一般遵守一般遵守以下原则&#xff1a;1口令选择应至少在…

开源的数据资产管理平台

开源的数据资产管理平台通过提供集中化的存储、管理和分析功能&#xff0c;帮助企业更好地利用其数据资源。以下是几个广泛使用的开源数据资产管理平台&#xff1a; 1. Apache Atlas 优点&#xff1a; 全面的数据治理: 提供数据分类、协作、治理和探索的框架&#xff0c;可以…

一种可以识别局部单调的系数

记录一种可以识别局部单调的系数 pearson和kendall等系数再识别单调的时候&#xff0c;更多是关注整体情况&#xff0c;很多时候&#xff0c;变量和因变量之间非简单的单调关系&#xff0c;局部单调ξ识别 假设我们正在测量变量X和Y之间的关系。传统的相关性测量方法通常假定…

Go - 3.库源码文件

目录 一.引言 二.库源码文件 1.定义 2.生成库源码文件 3.直接调用库源码文件 三.总结 一.引言 前面我们学习了 命令源码文件&#xff0c;并成功运行了 go 的 hello world 代码&#xff0c;下面我们介绍 go 里面另一个概念: 库源码文件。 二.库源码文件 1.定义 库源码文…

一看就会!Win11文件资源管理器的打开方法!

在Win11电脑操作中&#xff0c;用户可以借助文件资源管理器轻松管理文件或文件夹。但是&#xff0c;许多新手用户不知道要怎么操作才能顺利打开文件资源管理器&#xff1f;接下来小编给大家介绍五种简单快速的打开Win11系统文件资源管理器的方法。 方法 1&#xff1a;WindowsE …

构建 Linux 内核指南

该指南列出了用于构建 Linux 内核的各种目标及其说明。 清理目标&#xff1a; clean - 删除大多数生成的文件&#xff0c;但保留配置文件和足以构建外部模块的构建支持。 mrproper - 删除所有生成的文件 配置文件 各个备份文件。 distclean - mrproper 删除编辑器备份和补丁…

企业邮箱大附件无法上传?无法确认接收状态?这样解决就行

Outlook邮箱作为最常用的邮箱系统&#xff0c;被全世界企业采用作为内部通用沟通方式&#xff0c;但Outlook邮箱却有着明显的使用缺陷&#xff0c;如邮箱大附件上传障碍及附件接收无提示等。 1、企业邮箱大附件无法上传 Outlook企业邮箱大附件的上传上限一般是50M&#xff0c;…

Linux知识汇总

方法一: 当ens33的ip地址丢失时使用下面命令找回 service NetworkManager stop service network restart方法二: 网卡没有启动&#xff0c;只要指定再次启动这个网卡即可 ifconfig ens33 up 启动指定网卡 方法三: 执行完命令之后再次查看网络信息已经可以看到ens33的网卡了…

SpringSecurity6从入门到实战之自定义登录页面

SpringSecurity6从入门到实战之自定义登录页面 在使用SpringSecurity进行认证操作的时候,可以发现默认提供的登录页面比较简陋.那么我们能否对登录页面进行自定义配置呢?接下来开始讲解应该如何进行配置 自定义登录页面流程 引入模板依赖 由于自定义登录页面会使用到前端相关…