当前位置: 首页 > news >正文

做推广网站有什么中国山东建设监理协会网站

做推广网站有什么,中国山东建设监理协会网站,有人用我的企业做网站,重庆在线直播文章目录 前言LeetCode、1143. 最长公共子序列【中等,二维DP】题目链接与分类思路2022年暑假学习思路及题解二维DP解决 资料获取 前言 博主介绍:✌目前全网粉丝2W,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者…

文章目录

  • 前言
  • LeetCode、1143. 最长公共子序列【中等,二维DP】
    • 题目链接与分类
    • 思路
      • 2022年暑假学习思路及题解
      • 二维DP解决
  • 资料获取

前言

博主介绍:✌目前全网粉丝2W+,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者、专注于Java后端技术领域。

涵盖技术内容:Java后端、算法、分布式微服务、中间件、前端、运维、ROS等。

博主所有博客文件目录索引:博客目录索引(持续更新)

视频平台:b站-Coder长路


LeetCode、1143. 最长公共子序列【中等,二维DP】

题目链接与分类

题目内容:给定两个字符串str1和str2,输出两个字符串的最长公共子序列。如果最长公共子序列为空,则返回"-1"。目前给出的数据,仅仅会存在一个最长的公共子序列

题目链接:

  • 牛客:最长公共子序列(二)
  • leetcode:LeetCode、1143. 最长公共子序列

分类:动态规划/二维DP


思路

2022年暑假学习思路及题解

思路:dp+递归。①nxn遍历,来进行计算dp中每个格子的可连接

示例:把思路理清楚了就ok。

"1A2C3D4B56", "B1D23A456A"
结果:123456

下图中每个格子的左边是dp的值,右边红色的是方向数组b的值。左下角包含有思路解决:

image-20220725143004707

复杂度分析:

  • 空间复杂度:O(n2)
  • 时间复杂度:O(n2)
import java.util.*;public class Solution {private String x;private String y;/*** longest common subsequence* @param s1 string字符串 the string* @param s2 string字符串 the string* @return string字符串*/public String LCS (String s1, String s2) {this.x = s1;this.y = s2;char[] sArr1 = s1.toCharArray();char[] sArr2 = s2.toCharArray();int[][] dp = new int[sArr1.length + 1][sArr2.length + 1];int[][] d = new int[sArr1.length + 1][sArr2.length + 1];for (int i = 1; i <= sArr1.length; i++) {for (int j = 1; j <= sArr2.length; j++) {//比较两个字符if (sArr1[i - 1] == sArr2[j - 1]) {//若是相同dp[i][j] = dp[i - 1][j - 1] + 1;d[i][j] = 1;}else {if (dp[i - 1][j] > dp[i][j - 1]) {dp[i][j] = dp[i - 1][j];d[i][j] = 2;}else {dp[i][j] = dp[i][j - 1];d[i][j] = 3;}}}}String ans = ans(s1.length(), s2.length(), d);if (ans.isEmpty()) {return "-1";}return ans;}//递归获取最长子序列public String ans(int i, int j, int[][] d) {String res = "";if (i == 0 || j == 0) {return res;}if (d[i][j] == 1) {res += ans(i - 1,j - 1, d);res += x.charAt(i - 1);}else if (d[i][j] == 2) {res += ans(i - 1,j, d);}else {res += ans(i, j - 1, d);}return res;} 
}

二维DP解决

时间:2024.2.7

题目链接:1143. 最长公共子序列

思路:在本题中是找的最长公共子序列,并不是子串,此时我们可以从选不选的问题上延申出来。

定义:dp(i, j),本身这个值表示第一个字串前i个,第二个字串前j个的最长公共子序列数量。对于当前元素i,j来说,若是当前选不选i或者j,又或者是选i和j,那么是有四种状态的。

dp(i - 1, j):当前i不选,j选,即第一个字串前i-1个,第二个字串前j个中最长公共子序列数量。
dp(i, j - 1):当前i选,j不选,即第一个字串前i个,第二个字串前j-1个中最长公共子序列数量。
dp(i - 1, j - 1):当前i不选,j不选,即第一个字串前i-1个,第二个字串前j-1个中最长公共子序列数量。
dp(i, j)::当前i选,j选,即第一个字串前i个,第二个字串前j个中最长公共子序列数量。

递推方程:从dp(i, j)定值来看,我们是根据第1个子串的第i个字符与第2个子串的第j个字符是否相等来作为条件。

dp(i, j) = Math.max(dp(i - 1, j), dp(i, j - 1), dp(i - 1, j - 1));  【ch1[i] != ch2[j]dp(i, j) =  dp(i - 1, j - 1) + 1;  【ch1[i] == ch2[j]

题解

复杂度分析:时间复杂度O(n*m);空间复杂度O(n*m)

class Solution {public int longestCommonSubsequence(String text1, String text2) {int n = text1.length(), m = text2.length();int[][] dp = new int[n + 1][m + 1];for (int i = 1; i <= n; i ++) {char text1Ch = text1.charAt(i - 1);for (int j = 1; j <= m; j ++) {char text2Ch = text2.charAt(j - 1);//若是两个字符相等if (text1Ch == text2Ch) {dp[i][j] = dp[i - 1][j - 1] + 1;}else {dp[i][j] = Math.max(dp[i - 1][j], dp[i][j - 1]);}}}return dp[n][m];}
}

image-20240207140554874


资料获取

大家点赞、收藏、关注、评论啦~

精彩专栏推荐订阅:在下方专栏👇🏻

  • 长路-文章目录汇总(算法、后端Java、前端、运维技术导航):博主所有博客导航索引汇总
  • 开源项目Studio-Vue—校园工作室管理系统(含前后台,SpringBoot+Vue):博主个人独立项目,包含详细部署上线视频,已开源
  • 学习与生活-专栏:可以了解博主的学习历程
  • 算法专栏:算法收录

更多博客与资料可查看👇🏻获取联系方式👇🏻,🍅文末获取开发资源及更多资源博客获取🍅


整理者:长路 时间:2024.2.7

http://www.yayakq.cn/news/82688/

相关文章:

  • 推荐做那个的电影网站wordpress网页设定
  • 如何在阿里巴巴上建设公司网站重庆网络公司招聘
  • 教你做兼职的网站企业网站建设方案投标书
  • 淘客怎么用网站做邢台企业网站建设咨询
  • 简单网站建设软件有哪些wordpress主题资讯
  • 高端建设网站宝塔如何搭建网站
  • 请问聊城网站建设网站后台管理系统论文
  • h5可以做网站吗免费网站现在是怎么了
  • 河南企业网官方网站短网址生成接口
  • 做二手车网站需要什么手续费wordpress网站模板
  • 企业电子商城网站建设比wordpress好用
  • 如何查询网站域名企业咨询师资格证
  • 框架做网站指的是网店美工实训报告
  • 做外贸需要什么样的网站自己做一个微信小程序需要多少钱
  • 研艺影楼网站建设做淘宝团购的网站
  • 网络科技公司网站首页企业概况简介
  • 有专门做特产的网站吗龙华三网合一网站建设
  • 如何选择网站建设案例哈尔滨信息网官网
  • 合肥长丰路网站建设官方百度平台
  • 企业网站界面seo技术培训班
  • 培训网站平台怎样做房地产建设网站的意义
  • 合肥网站建设策划方案东营做网站优化哪家好
  • 中投中原建设有限公司官方网站海外推广解决方案
  • 酒店网站建设报告书wordpress xydown插件
  • 做房地产需要做网站吗三网合一网站程序
  • 西安网站制作工作室软件技术就业前景怎么样
  • 湖北省建设工程招标网站上海备案证查询网站
  • 网站哪类业务建设投入会带来间接收益鲅鱼圈企业网站建设
  • 网站建设 视频wordpress数据库乱码
  • 购物网站排名前十自己做的网站慢是什么原因