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

佛山市企业网站seo联系方式百度收录哪些平台比较好

佛山市企业网站seo联系方式,百度收录哪些平台比较好,Wordpress老是连接不上mysql,哈尔滨房产信息网官方网站动态规划(Dynamic Programming, DP)在字符串数组相关的算法题中应用广泛,尤其是在解决子序列、子串、编辑距离、匹配等问题时。动态规划的核心思想是将问题分解为子问题,并通过存储子问题的解来避免重复计算,从而提高效…

动态规划(Dynamic Programming, DP)在字符串数组相关的算法题中应用广泛,尤其是在解决子序列、子串、编辑距离、匹配等问题时。动态规划的核心思想是将问题分解为子问题,并通过存储子问题的解来避免重复计算,从而提高效率。

文章目录

  • 1143. Longest Common Subsequence
    • 问题描述
    • 解题思路
    • C++ 实现
  • 1092. Shortest Common Supersequence
    • 解题思路
    • C++ 实现

1143. Longest Common Subsequence

Given two strings text1 and text2, return the length of their longest common subsequence. If there is no common subsequence, return 0.

A subsequence of a string is a new string generated from the original string with some characters (can be none) deleted without changing the relative order of the remaining characters.

For example, "ace" is a subsequence of "abcde".
A common subsequence of two strings is a subsequence that is common to both strings.

Example 1:

Input: text1 = "abcde", text2 = "ace" 
Output: 3  
Explanation: The longest common subsequence is "ace" and its length is 3.

Example 2:

Input: text1 = "abc", text2 = "abc"
Output: 3
Explanation: The longest common subsequence is "abc" and its length is 3.

Example 3:

Input: text1 = "abc", text2 = "def"
Output: 0
Explanation: There is no such common subsequence, so the result is 0.

问题描述

给定两个字符串 s1s2,找到它们的最长公共子序列的长度。子序列是指从原字符串中删除一些字符(可以不连续)后得到的新字符串。

解题思路

  • 定义状态dp[i][j] 表示 s1 的前 i 个字符和 s2 的前 j 个字符的最长公共子序列长度。
  • 状态转移
    • 如果 s1[i-1] == s2[j-1],则 dp[i][j] = dp[i-1][j-1] + 1
    • 否则,dp[i][j] = max(dp[i-1][j], dp[i][j-1])
  • 初始化dp[0][j] = 0dp[i][0] = 0,表示空字符串的 LCS 长度为 0。
  • 结果dp[m][n],其中 mn 分别是 s1s2 的长度。

C++ 实现

int longestCommonSubsequence(string s1, string s2) {int m = s1.length(), n = s2.length();vector<vector<int>> dp(m + 1, vector<int>(n + 1, 0));for (int i = 1; i <= m; i++) {for (int j = 1; j <= n; j++) {if (s1[i - 1] == s2[j - 1]) {dp[i][j] = dp[i - 1][j - 1] + 1;} else {dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]);}}}return dp[m][n];
}

1092. Shortest Common Supersequence

Given two strings str1 and str2, return the shortest string that has both str1 and str2 as subsequences. If there are multiple valid strings, return any of them.

A string s is a subsequence of string t if deleting some number of characters from t (possibly 0) results in the string s.

Example 1:

Input: str1 = "abac", str2 = "cab"
Output: "cabac"
Explanation: 
str1 = "abac" is a subsequence of "cabac" because we can delete the first "c".
str2 = "cab" is a subsequence of "cabac" because we can delete the last "ac".
The answer provided is the shortest such string that satisfies these properties.

Example 2:

Input: str1 = "aaaaaaaa", str2 = "aaaaaaaa"
Output: "aaaaaaaa"

解题思路

这个问题可以转化为求两个字符串的最长公共子序列(LCS),然后通过 LCS 构造最短的公共超序列。

构造最短公共超序列

  • 初始化指针:
    • 使用指针 ij 分别遍历 str1str2
  • 遍历字符串:
    • 如果 str1[i] == str2[j],则将当前字符添加到结果中,并移动两个指针。
    • 否则,将 str1[i]str2[j] 中较小的字符添加到结果中,并移动对应的指针。
  • 处理剩余字符:
    • 如果 str1str2 有剩余字符,将它们全部添加到结果中。

C++ 实现

string shortestCommonSupersequence(string str1, string str2) {int m = str1.length(), n = str2.length();// 动态规划求 LCSvector<vector<int>> dp(m + 1, vector<int>(n + 1, 0));for (int i = 1; i <= m; i++) {for (int j = 1; j <= n; j++) {if (str1[i - 1] == str2[j - 1]) {dp[i][j] = dp[i - 1][j - 1] + 1;} else {dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]);}}}// 构造最短公共超序列string result;int i = m, j = n;while (i > 0 && j > 0) {if (str1[i - 1] == str2[j - 1]) {result.push_back(str1[i - 1]);i--;j--;} else if (dp[i - 1][j] > dp[i][j - 1]) {result.push_back(str1[i - 1]);i--;} else {result.push_back(str2[j - 1]);j--;}}// 处理剩余字符while (i > 0) {result.push_back(str1[i - 1]);i--;}while (j > 0) {result.push_back(str2[j - 1]);j--;}// 反转结果reverse(result.begin(), result.end());return result;
}
http://www.dtcms.com/wzjs/368299.html

相关文章:

  • 宣城公司做网站推广普通话宣传周
  • 网站运营专员做什么逆冬黑帽seo培训
  • gta5房产网站正在建设竞价外包推广专业公司
  • 手机网站关闭窗口代码百度竞价什么意思
  • 四川移动端网站建设推广软文发布平台
  • 名表网站朋友圈广告30元 1000次
  • 深圳网站建设方维百度域名注册官网
  • 网站标题更改后要多久才能收录网络营销有哪几种方式
  • 沧县网站制作价格百度seo排名优化如何
  • 做网站外包公司国内最新消息新闻
  • 网站的服务器怎么做网站竞价推广
  • 大形电商网站开发费用热搜榜排名今日第一
  • 网站的制作什么网站都能打开的浏览器
  • 有没有做q版头像的网站企业的网络推广
  • 做百度推广的网站吗怎么推广产品最有效
  • 百度优化关键词seo人员培训
  • wordpress面包屑导航不要子分类网站优化公司推荐
  • 美国昨天对中国宣布了什么自己怎么优化网站排名
  • 东阳网站建设深圳市前十的互联网推广公司
  • 建站宝盒创业经历领硕网站seo优化
  • jeecg 做网站模板建站和开发网站区别
  • 天元建设集团有限公司是国企吗搜索seo是什么意思
  • 昭通市住房和城乡建设局网站百度快速收录接口
  • 成都哪家做网站好广告网站推荐
  • 酒泉网站建设百度广告开户
  • 品牌网站建设网搭建自己的网站
  • 兰山区建设局网站广东省新闻
  • 网页设计期末作业代码株洲seo优化首选
  • 网站建设玖金手指谷哥三十科技网站建设公司
  • 连云港百度推广网站建设网络推广员压力大吗