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

h5素材免费下载网seo关键词排名优化销售

h5素材免费下载网,seo关键词排名优化销售,肇庆做网站公司,网购最便宜的软件给你两个字符串 s 和 t ,统计并返回在 s 的 子序列 中 t 出现的个数,结果需要对 10^9 7 取模。 示例 1: 输入:s “rabbbit”, t “rabbit” 输出:3 解释: 如下所示, 有 3 种可以从 s 中得到 “rabbit”…

给你两个字符串 s 和 t ,统计并返回在 s 的 子序列 中 t 出现的个数,结果需要对 10^9 + 7 取模。

示例 1:
输入:s = “rabbbit”, t = “rabbit”
输出:3
解释:
如下所示, 有 3 种可以从 s 中得到 “rabbit” 的方案。
在这里插入图片描述

示例 2:
输入:s = “babgbag”, t = “bag”
输出:5
解释:
如下所示, 有 5 种可以从 s 中得到 “bag” 的方案。
在这里插入图片描述

提示:
1 <= s.length, t.length <= 1000
s 和 t 由英文字母组成

动态规划

class Solution {
public:int numDistinct(string s, string t) {int MOD = 1e9 + 7;int m = s.size(), n = t.size();if(n > m){return 0;}vector<vector<int>> f(m+1, vector<int>(n+1));for(int i = 0; i <= m; i++){f[i][0] = 1;}for(int i = 1; i <= m; i++){for(int j = 1; j <= min(i, n) ; j++){if(s[i-1] == t[j-1]){f[i][j] = (f[i-1][j-1] + f[i-1][j]) % MOD;}else{f[i][j] = f[i-1][j] % MOD;}}}return f[m][n];}
};

时间复杂度:O(mn),其中 m 和 n 分别是字符串 s 和 t 的长度。二维数组 dp 有 m+1 行和 n+1 列,需要对 dp 中的每个元素进行计算。

空间复杂度:O(mn),其中 m 和 n 分别是字符串 s 和 t 的长度。创建了 m+1 行 n+1 列的二维数组 dp。

这个题运用了动态规划的思想,我们首先定义一个二维动态数组f[i][j],设 f[i][j] 表示字符串 s 的前 i 个字符中,子序列中 t 的前 j 个字符出现的次数。

如果 s[i - 1] == t[j - 1],那么 f[i][j] 既可以选择使用 s[i - 1] 来匹配 t[j - 1],也可以不使用 s[i - 1]。此时状态转移方程为:

f[i][j] = (f[i-1][j-1] + f[i-1][j]) % MOD;

如果 s[i - 1] != t[j - 1],则无法匹配 t[j - 1],因此只能继承之前的状态:

f[i][j] = f[i - 1][j]

最后返回f[m][n]。


优化:滚动数组

class Solution {
public:int numDistinct(string s, string t) {int MOD = 1e9 + 7;int m = s.size(), n = t.size();if(n > m){return 0;}vector<int> f(n+1);f[0] = 1;for(int i = 1; i <= m; i++){for(int j = min(i, n); j >= 1 ; j--){if(s[i-1] == t[j-1]){f[j] = (f[j-1] + f[j]) % MOD;}}}return f[n];}
};

我们可以观察到f[i][j] = (f[i-1][j-1] + f[i-1][j]) % MOD;中,f[I][j]上一行的前一个字符转换而来,还有由同一行的前一个字符转换而来。所以我们可以省去行的空间,只定义一个包含列的一维数组f[n],我们在循环中让j倒序,我们就有f[j-1]等同于f[i-1][j-1],f[j]等同于f[i-1][j]。并且在f[i][j] = f[i-1][j] % MOD;中,f[i-1][j]会转换成f[j] = f[j],所以我们不需要列出这种情况。

http://www.shuangfujiaoyu.com/news/49137.html

相关文章:

  • 如何优化网站代码什么是推广
  • 国内服务器做网站要备案太原最新情况
  • 外贸商城b2c网站建设搜狗推广平台
  • 武汉 网站维护 公司创建网站的基本步骤
  • 灰色网站怎么做当前疫情十大热点
  • 爱 做 网站百度网盘官网登陆入口
  • 一个网站大概多少钱百度教育网站
  • 微信公众号同步wordpress超级seo工具
  • 北京制作网站主页网络推广外包代理
  • 建站群赚钱有前途吗广告投放这个工作难不难做
  • 怎么建立博客网站域名注册信息怎么查
  • 网站开发学什么 2018郑州网络优化实力乐云seo
  • 注册国外网站用什么邮箱佛山seo网站排名
  • 吉林刷关键词排名优化软件百度关键词优化策略
  • 合肥响应式网站设计百度客服人工在线咨询电话
  • 用angularjs做的网站seo技术优化服务
  • 卡地亚手表官方网站百度服务电话在线人工
  • 建个人网站安卓优化大师2021
  • 长春网站建设于健网站免费推广平台
  • 承德网站建设开发在线建站平台
  • 建设网站的步骤seo浑江区关键词seo排名优化
  • 公司做网站需要提供什么资料百度搜索引擎排行榜
  • 浙江新中环建设有限公司 网站培训机构还能开吗
  • 岳阳做网站哪家好seo创业
  • 建站系统的应用场景seo自然优化排名技巧
  • 网站图怎么做会高清西安seo优化
  • 做境外域名网站近10天的时事新闻
  • wordpress自定义登陆页面跳转seo上首页
  • 深圳自助网站建设费用龙岗网站制作
  • 松岗建网站商丘网络推广公司