题目 2086: 最长公共子序列

news2024/11/24 20:56:33

题目描述:

给定两个字符串,寻找这两个字串之间的最长公共子序列。

解题思路:

以二维数组的方式遍历两个字符串,行和列要加一,方便计算,

                       当遍历的两个字符相同时,就代表他两个字符串中都有这个字符,

                       就让这个位置等于左上角的数字加一,dp[i][j] = dp[i-1][j-1] + 1;

                        

InkedJIY3}S~{@G)L_F3%0}3T_}G_LI.jpg

                       当两个字符不相等时,让他等于之前记录的公共串,此位置等于,

                      上面和左边两个数中大的那个数,dp[i][j] = Math.max(dp[i][j-1],dp[i-1][j]);

                             

}(1$QKIHIBWA65CK%N74(DR.png

代码:

package lanqiao;

import java.math.BigInteger;
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.next();
        String c = sc.next();
        int n = s.length() + 1,m = c.length() + 1;
        int[][] dp = new int[n][m];

        for(int i = 1;i < n;i ++)
        {
            for(int j = 1;j < m;j ++)
            {
                if(s.charAt(i - 1) != c.charAt(j - 1)){
                    dp[i][j] = Math.max(dp[i][j - 1],dp[i - 1][j]);
                }else{
                    dp[i][j] = dp[i - 1][j - 1] + 1;
                }
            }
        }

        System.out.println(dp[n - 1][m - 1]);
    }
}

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

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

相关文章

先进的人工智能促进更好的业务沟通

提升商务沟通效率&#xff1a;了解SaneBox智能电子邮件管理工具 在现代商业环境中&#xff0c;有效的沟通至关重要。 先进的人工智能技术&#xff0c;特别是在电子邮件管理方面&#xff0c;正在改变企业处理沟通的方式&#xff0c;提高效率和个性化。 下面&#xff0c;我们深入…

算法学习(持续更新中)

学习视频&#xff1a;一周刷爆LeetCode&#xff0c;算法大神左神&#xff08;左程云&#xff09;耗时100天打造算法与数据结构基础到高级全家桶教程&#xff0c;直击BTAJ等一线大厂必问算法面试题真题详解&#xff08;马士兵&#xff09;_哔哩哔哩_bilibili 时间复杂度 一个操…

2024年云仓酒庄佛山发布会:赋能

原标题&#xff1a;2024年云仓酒庄佛山发布会圆满落幕&#xff0c;朱囿臻总赋能引领行业新篇章 近日&#xff0c;备受瞩目的云仓酒庄佛山发布会圆满落幕。此次发布会汇聚了业内精英、经销商代表以及媒体人士&#xff0c;共同见证了云仓酒庄在佛山市场的启航。在此&#xff0c;…

实现防抖函数并支持第一次立刻执行(vue3 + ts环境演示)

1、先看一效果&#xff1a; 2、实现思路&#xff1a; 使用定时器setTimeout和闭包实现常规防抖功能&#xff1b;增加immediate字段控制第一次是否执行一次函数&#xff08;true or false&#xff09;&#xff1b;增加一个flag标识&#xff0c;在第一次执行时&#xff0c;将标…

YZ系列工具之YZ08:窗体加载图片后进行放大查看

我给VBA下的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高数据的准确度。我的教程一共九套一部VBA手册&#xff0c;教程分为初级、中级、高级三大部分。是对VBA的系统讲解&#xff0c;从简单的…

【安全类书籍-2】Web渗透测试:使用Kali Linux

目录 内容简介 作用 下载地址 内容简介 书籍的主要内容是指导读者如何运用Kali Linux这一专业的渗透测试平台对Web应用程序进行全面的安全测试。作者们从攻击者的视角出发,详细阐述了渗透测试的基本概念和技术,以及如何配置Kali Linux以适应渗透测试需求。书中不仅教授读者…

软件工程-第9章 软件工程项目管理概述

9.1 软件工程管理活动 9.2 软件规模、成本和进度估算 9.3 能力成熟度模型CMM 9.4 ISO 9000系列标准简介 9.5 CMM与ISO 9000系列标准的比较 9.6 本章小结

Docker与containerd:容器技术的双璧

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《Docker幻想曲&#xff1a;从零开始&#xff0c;征服容器宇宙》 &#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目录 一、前言 1、Docker和containerd的背景…

【C++】堆区空间的申请和释放--- 2024.3.19

目录 C和C的区别&#xff08;申请堆区空间&#xff09;C中的new和delete结束语 C和C的区别&#xff08;申请堆区空间&#xff09; 在c语言中&#xff0c;在遇到需要申请一块堆区空间时&#xff0c;我们往往会使用malloc申请&#xff0c;使用free进行释放&#xff0c;但是为什么…

深入浅出前端本地储存

引言 2021 年&#xff0c;如果你的前端应用&#xff0c;需要在浏览器上保存数据&#xff0c;有三个主流方案&#xff1a; CookieWeb Storage (LocalStorage)IndexedDB 这些方案就是如今应用最广、浏览器兼容性最高的三种前端储存方案 今天这篇文章就聊一聊这三种方案的历史…

漏洞扫描服务为什么这么重要?

漏洞扫描服务作为网络安全领域的重要一环&#xff0c;发挥着不可或缺的作用。漏洞扫描服务不仅能够实时防护网络免受各类恶意攻击&#xff0c;还能为网络管理人员提供定期的安全自我检测与评估&#xff0c;确保网络的稳定与安全运行。那么什么是漏洞扫描呢&#xff1f; 漏洞是在…

蓝桥杯之动态规划冲刺

文章目录 动态规划01背包小练一下01背包网格图上的DP完全背包 最长公共字符串最长递增子序列 动态规划 动态规划&#xff1a;确定好状态方程&#xff0c;我们常常是确定前 当状态来到 i 时&#xff0c;前 i 个物体的状态是怎么样的&#xff0c;我们并不是从一个点去考虑&#x…

【1】THIS IS NOT PROLIFIC PL2303. PLEASE CPMTACT YOUR SUPPLIER

0x01 问题描述 连接COM口连接不上&#xff0c;出现THIS IS NOT PROLIFIC PL2303. PLEASE CPMTACT YOUR SUPPLIER.如下图 0x02 问题解决 1、分析后&#xff0c;因为是windows 11 系统&#xff0c;就装一下驱动。右键单击--》属性 2、更新驱动程序--》浏览我的电脑以查找驱动程序…

企业应如何建立有效的内控制度?

内部控制制度&#xff08;以下简称“内控制度”&#xff09;作为企业生产经营活动自我调节、自我约束的内在机制&#xff0c;在企业管理系统中具有举足轻重的作用。内部控制制度的建立、健全及实施情况的好坏&#xff0c;是企业生产经营成败的关键。因此&#xff0c;企业应该建…

粒子群算法 - 目标函数最优解计算

粒子群算法概念 粒子群算法 (particle swarm optimization&#xff0c;PSO) 由 Kennedy 和 Eberhart 在 1995 年提出&#xff0c;该算法模拟鸟群觅食的方法进行寻找最优解。基本思想&#xff1a;人们发现&#xff0c;鸟群觅食的方向由两个因素决定。第一个是自己当初飞过离食物…

软件工程-第三版王立福-第1章 绪论

本书结合IEEE最新发布的软件工程体系SWEBOK&#xff0c;和IEEE/ACM软件工程学科小组公布的软件工程教育知识体系SEEK&#xff0c;北大本科生指定教材。注重基础知识的系统性&#xff0c;选材的先进性及知识的应用。2009年出版 软件开发本质的认识&#xff0c;两大技术问题&…

【Linux】Linux基本开发工具(yum) (vi/vim)的使用

本文章内容&#xff1a; 学习yum工具&#xff0c;进行软件安装掌握vim编辑器使用 Linux 软件包管理器 yum 什么是软件包 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序.但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成…

一文带你详解天池工业数据集

人工智能是国家战略性新兴产业&#xff0c;制造业是国民经济的主体&#xff0c;随着人口红利的消失&#xff0c;加强设备自动化改造&#xff0c;提高生产自动化程度&#xff0c;减小劳动强度&#xff0c;改善作业环境&#xff0c;已经成为制造业的普遍共识。天池大赛开放出一批…

MySQL中的基本SQL语句

MySQL中的基本SQL语句 查看操作 1. 查看有哪些数据库 show databases; 2.切换数据库 use 数据库名;比如切换至 mysql数据库 use mysql;3.查看数据库中的表 show tables;4.查看表中数据 select 要查询的东西 from 表名 [ where 条件 ];select * from 表名…

大众EA111发动机

大众EA111发动机_什么是大众EA111发动机_太平洋汽车百科 大众EA111发动机_什么是大众EA111发动机_太平洋汽车百科 大众的EA111系列发动机是大众公司小排量发动机的主力&#xff0c;有1.2L、1.4L、1.6L三种排量。大众的EA111系列发动机融合了缸内直喷、涡轮增压等先进技术&…