输出最长公共字串
题目描述
给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列
示例
示例 1:
输入:text1 = "abcde", text2 = "ace"
输出:"ace"
示例 2:
输入:text1 = "abc", text2 = "abc"
输出:"abc"
示例 3:
输入:text1 = "abc", text2 = "def"
输出:""
思路
本质之前写过的最长公共子序列一样,先求出最长公共子序列的长度,然后根据长度在遍历两个字符串,组成真正的最长公共子序列。
代码如下
public String longestCommonSubsequenceToString(String text1, String text2) {int m = text1.length(), n = text2.length();int[][] dp = new int[m + 1][n + 1];// 统计最长公共子序列for(int i = 1;i < dp.length;i++){for(int j = 1;j < dp[0].length;j++){if(text1.charAt(i - 1) == text2.charAt(j - 1)){dp[i][j] = 1 + dp[i - 1][j - 1];}else{dp[i][j] = Math.max(dp[i][j - 1], dp[i - 1][j]);}}}// 记录最长公共子序列长度,int len = dp[m][n];char[] chars = new char[len];// 其实这里也不必定义char数组和记录最长公共子序列长度,直接使用StringBuilder来操作更简单,最后返回结果在reverse()一下就行。int i = m, j = n;// 从后向前遍历两个字符串while(i > 0 && j > 0){// 相等就加入if(text1.charAt(i - 1) == text2.charAt(j - 1)){chars[len - 1] = text1.charAt(i - 1);i--;j--;len--;}else if(dp[i - 1][j] > dp[i][j - 1]){i--;}else{j--;}}return new String(chars);}
相关文章:
输出最长公共字串
题目描述 给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列 示例 示例 1: 输入:text1 "abcde", text2 "ace" 输出:"ace" 示例 2: 输入:text1 &quo…...
学习经验分享【NO.19】YOLOv5可视化训练过程
将train.py中project的参数设置为如下: 点击AutoPanel即可: 得到如下的训练过程,可以观察所进行提升效果是否有用以及可以作为论文中的图,提高论文的档次。...
低代码可视化逻辑编排工具:JNPF
目录 Intro 一、是什么? 提供自动化的解决方案 二、为什么受欢迎? JNPF自身特点——安全、方便、高效、低耗 对于企业,更“安全” 成本“最低”,效率“最高” 三、JNPF开发平台功能展示 技术介绍 参考地址 近几年,随着…...
Redis创始人开源最小聊天服务器,仅200行代码,几天功夫已获2.8K Star!
中午时候,在技术交流群里聊起关于Redis创始人的一些趣事,比如离开Redis之后,去写科幻小说之类的。 因为好奇科幻小说,TJ君就去搜索了一下。结果一搜,发现Redis作者最近居然又搞了个新活儿! 世界上最小的聊…...
RK-3399pro 萤火虫firefly 官方unbuntu 固件系统安装搜狗中文输入法
RK-3399pro 萤火虫firefly 官方unbuntu 固件系统安装搜狗输入法(适用于所有基于Ubuntu的UI桌面系统) 一、添加中文语言支持输入法平台fcitx 1.安装fcitx sudo apt-get install fcitx 2.然后设置fcitx为开机自启动 sudo cp /usr/share/applications/fc…...
2014年亚太杯APMCM数学建模大赛A题无人机创造安全环境求解全过程文档及程序
2014年亚太杯APMCM数学建模大赛 A题 无人机创造安全环境 原题再现 20 国集团,又称 G20,是一个国际经济合作论坛。2016 年第 11 届 20 国集团峰会将在中国召开,这是继 APEC 后中国将举办的另一个大型峰会。此类大型峰会,举办城市…...
Java字符串常用函数 详解5000字 (刷题向 / 应用向)
1.直接定义字符串 直接定义字符串是指使用双引号表示字符串中的内容,例如"Hello Java"、"Java 编程"等。具体方法是用字符串常量直接初始化一个 String 对象,示例如下: 1. String str"Hello Java"; 或者 …...
在RabbitMQ中 WorkQueue 工作队列 和发布(publish)/订阅(Subscribe) 有什么区别?
在RabbitMQ中,"Work Queue"(工作队列)和"Publish/Subscribe"(发布/订阅)是两种不同的消息传递模型,它们有不同的用途和工作方式。 Work Queue (工作队列): 用途:…...
关闭Dell xps 系列笔记本触控屏
【电脑】->【管理】->【设备管理器】 右键 禁用选择即可...
物理内存的组织形式
由于物理地址是连续的,页也是连续的,每个页大小也是一样的。因而对于任何一个地址,只要直接除一下每页的大小,很容易直接算出在哪一页。每个页有一个结构 struct page 表示,这个结构也是放在一个数组里面,这…...
IOS渲染流程之提交图层数据至RenderThread进程
大致链路 UIView/CALayer---->CoreAnimation./Core Graphics/Core Image---->GPU Drive-->GPU 图层树/视图树 一个UIView(视图)对应一个CALayer(图层),CALayer对应显示的数据其有个content代表Bitamp&#…...
shell学习脚本05(小滴课堂)
可以对海量的数据进行提取。 -v对提取的内容进行取反。 -n显示出行号。 -w精确匹配: -i:忽略大小写: -E正则匹配: cut命令: -d指定分隔符,-f指定截取区域: 截取第一列到第三列: 截取第二列到最…...
长短期神经网络LSTM的博文分类,长短期神经网络的原理分析
目录 背影 摘要 代码和数据下载:长短期神经网络LSTM的博文分类,长短期神经网络微博博文分类(代码完整,数据齐全)资源-CSDN文库 https://download.csdn.net/download/abc991835105/88498278 LSTM的基本定义 LSTM实现的步骤 长短期神经网络LSTM的博文分类,长短期神经网络微…...
虹科干货 | 手把手教你通过CODESYS V3进行PLC编程(一)
文章来源:虹科工业控制团队 阅读原文:https://mp.weixin.qq.com/s/5gDXPulm8qz075H6lEmGWg 教程背景 虹科MC系列模块化控制器是基于Raspberry Pi的高性能4核控制器,运动控制循环时间最快可达500微秒,实现了计算能力和成本之间的…...
rabbitmq的confirm模式获取correlationData为null解决办法
回调函数confirm中的correlationDatanull // 实现confirm回调,发送到和没发送到exchange,都触发 Override public void confirm(CorrelationData correlationData, boolean ack, String cause) {// 参数说明:// correlationData: 相关数据,可以在发送消息时,进行设置该参数// …...
【Linux】centos7安装配置及Linux常用命令
目录 一.Centos安装与配置 1.1.创建 1.2.安装配置CentOS 7实操 二.Linux常用命令 2.1.常用命令 2.2.三种模式 三.换源处理(切换国内源) 3.1.拍照备份 好啦今天就到这里哦!!希望能帮到你哦!!! 一.Centos安装与配…...
LCD调试
此处以6739 1g版本为例(kernel 4.19),基于参考配置的主要修改点如下: 1. 两个配置文件defconfig: kernel-4.19\arch\arm\configs\k39tv1_bsp_1g_k419_debug_defconfig: kernel-4.19\arch\arm\configs\k39tv1_bsp_1g_k419_defconfig: CONFIG_LCM_HEIGHT="1280" CO…...
【计算机网络】金管局计算机岗位——计算机网络(⭐⭐⭐⭐)
计算机网络知识点 计算机网络基础知识计算机网络的定义与组成、分类网络的发展、常识(⭐⭐⭐⭐)计算机网络的定义计算机网络的功能计算机网络的组成计算机网络的分类计算机网络的性能指标主要包括(⭐⭐⭐⭐) 网络体系结构OSI模型定…...
第十四章 ObjectScript 系统标志和限定符 (qspec) - 限定符与标识
文章目录 第十四章 ObjectScript 系统标志和限定符 (qspec) - 导出限定符 导出限定符ShowClassAndObject限定符 第十四章 ObjectScript 系统标志和限定符 (qspec) - 导出限定符 导出限定符 FlagMeaningDefault/checksysutd检查系统类是否是最新的。0/checkuptodate映射时检查类…...
测试这碗饭,现在是越来越难吃了
我是一名测试工程师,今年10岁了,游走在产品研发线上,与产品小妹、开发小哥、运维大叔一起维护着研发世界的和平,我的主要技能就是究其一生使出浑身解数与bug斗智斗勇,保障产品的质量,可是这10多年来我走过的…...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...
遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...
dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...
Java毕业设计:WML信息查询与后端信息发布系统开发
JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发,实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构,服务器端使用Java Servlet处理请求,数据库采用MySQL存储信息࿰…...
音视频——I2S 协议详解
I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议,专门用于在数字音频设备之间传输数字音频数据。它由飞利浦(Philips)公司开发,以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...
uniapp手机号一键登录保姆级教程(包含前端和后端)
目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号(第三种)后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...
如何应对敏捷转型中的团队阻力
应对敏捷转型中的团队阻力需要明确沟通敏捷转型目的、提升团队参与感、提供充分的培训与支持、逐步推进敏捷实践、建立清晰的奖励和反馈机制。其中,明确沟通敏捷转型目的尤为关键,团队成员只有清晰理解转型背后的原因和利益,才能降低对变化的…...
