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

公司网站有收录没排名wordpress国内网站

公司网站有收录没排名,wordpress国内网站,手机软件定制开发公司,wordpress公告栏插件目录动态规划题目来源 115. 不同的子序列 动态规划 1.确定dp数组(dp table)以及下标的含义 dp[i][j]:以i-1为结尾的s子序列中出现以j-1为结尾的t的个数为dp[i][j]。 2.确定递推公式 这一类问题,基本是要分析两种情况 t[i - 1…

目录

    • 动态规划

题目来源
115. 不同的子序列

动态规划

  • 1.确定dp数组(dp table)以及下标的含义

dp[i][j]:以i-1为结尾的s子序列中出现以j-1为结尾的t的个数为dp[i][j]。

  • 2.确定递推公式

这一类问题,基本是要分析两种情况

t[i - 1] 与 s[j - 1]相等
t[i - 1] 与 s[j - 1] 不相等

当t[i - 1] 与 s[j - 1]相等时,dp[i][j]可以有两部分组成。
一部分是用t[i - 1]来匹配,那么个数为dp[i - 1][j - 1]。即不需要考虑当前s子串和t子串的最后一位字母,所以只需要 dp[i-1][j-1]。
一部分是不用s[j - 1]来匹配,个数为dp[i][j-1]。

例如: s:bagg 和 t:bag ,s[3] 和 t[2]是相同的,但是字符串s也可以不用s[3]来匹配,即用s[0]s[1]s[2]组成的bag。
当然也可以用s[3]来匹配,即:s[0]s[1]s[3]组成的bag。
所以当t[i - 1] 与 s[j - 1]相等时,dp[i][j] = dp[i - 1][j - 1] + dp[i ][j-1];

当t[i - 1] 与 s[j - 1]不相等时,dp[i][j]只有一部分组成,不用s[j - 1]来匹配(就是模拟在s中删除这个元素),即:dp[i][j-1]
所以递推公式为:dp[i][j] = dp[i][j-1];

为什么只考虑 不用s[j - 1]来匹配 这种情况, 不考虑 不用t[i - 1]来匹配 的情况呢。
我们求的是 s 中有多少个 t,而不是 求t中有多少个s,所以只考虑 s中删除元素的情况,即 不用t[i - 1]来匹配 的情况。

  • 3.dp数组如何初始化

从递推公式dp[i][j] = dp[i - 1][j - 1] + dp[i][j-1]; 和 dp[i][j] = dp[i][j-1]; 中可以看出dp[i][j] 是从左方和左上方推导而来,那么 dp[i][0] 和dp[0][j]是一定要初始化的。

dp[0][j] 表示:以j-1为结尾的s可以随便删除元素,出现空字符串的个数。
在这里插入图片描述
那么dp[i][0]一定都是0,s如论如何也变成不了t。

  • 4.确定遍历顺序

从递推公式dp[i][j] = dp[i - 1][j - 1] + dp[i ][j-1]; 和 dp[i][j] = dp[i ][j-1]; 中可以看出dp[i][j]都是根据左上方和正上方推出来的。
所以遍历的时候一定是从上到下,从左到右,这样保证dp[i][j]可以根据之前计算出来的数值进行计算。

  • 5.举例推导dp数组

S = “babgbag”, T = “bag” ,推导dp数组状态如下:
在这里插入图片描述
代码实现

class Solution {public int numDistinct(String s, String t) {int[][] dp = new int[t.length()+1][s.length()+1];for(int i = 0;i<=s.length();i++){dp[0][i] = 1;}for(int i=1;i<=t.length();i++){for(int j= 1;j<=s.length();j++){if(t.charAt(i-1) == s.charAt(j-1)){dp[i][j] = dp[i-1][j-1] + dp[i][j-1];}else{dp[i][j] = dp[i][j-1];}}}return dp[t.length()][s.length()];}
}

在这里插入图片描述

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

相关文章:

  • 哈尔滨企业网站建站推荐宠物网站建设总结
  • 设计网站公司地址那个网站是做房产中介的
  • 自己写wordpress插件分析seo做的不好的网站
  • 国际论坛网站模板什么网站可以做兼职 知乎
  • 6生肖竞猜网站建设确定网站风格
  • 宁波网站设计公司排名全国企业信用信息公示系统湖北
  • 电商网站建设 教学总结用sql网站建设基本流程
  • 唐山市建设局网站wordpress播放器
  • 请写出网站建设的步骤网站对企业的重要性
  • 做教育培训的网站网站建设包涵哪些领域
  • 寺庙网站开发建设方案网站建设mrd文档模板
  • 西安网站建站品牌郑州 网站建设的公司
  • wordpress 获取网站地址简单的个人主页网站制作html
  • jquery网站底部导航效果公众号发布的文章是wordpress
  • 佛山 顺德网站设计网站推广到海外怎么做
  • 青岛做企业网站的公司淄博网站建设咨询臻动传媒
  • 网站不备案有什么影响rt-theme 18 wordpress
  • 现在做个网站多少钱iis发布网站的教程
  • 移动软件开发工程师长春网站优化方式
  • 佛山网站建设格式有哪些重庆电子工程职业学院校园网绑定
  • 药品网站建设存在的问题内部网站建设合同
  • 济南行知网站制作护肤品 网站建设策划
  • 工业设计网站国外免费推广软件 推广帮手
  • 如何帮人做网站个人网站建设与实现
  • 织梦网站后台如何做百度优化浙江省通信管理局 网站备案 管理部门
  • 免费个人网站源码下载wordpress右侧悬浮
  • 环保网站源码网站建设的评分细则
  • 网站 建设 内容 安排WordPress签到打卡
  • 网站建设网络安全旅游分销平台有哪些
  • 桂林微信网站设计wordpress文章编辑技巧