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

免费发布信息网站平台2019年 2022疫情爆发

免费发布信息网站平台,2019年 2022疫情爆发,句容建设局网站招标,现在可以用的网站挺难的TT一开始居然把动态规划转移方程写错了,导致后面怎么改都通不过…… 找转移方程真是件难事啊…… 方法是照常建立动态规划数组,nums[i][j]代表s的前i含多少个t的前j,这个比较容易想。 转移方程还是有点难度的,每次遍历一…

挺难的TT一开始居然把动态规划转移方程写错了,导致后面怎么改都通不过……

找转移方程真是件难事啊……

方法是照常建立动态规划数组,nums[i][j]代表s的前i含多少个t的前j,这个比较容易想。

转移方程还是有点难度的,每次遍历一个t[j]就有两种情况,一种是t[j]和s[i]相同,一种是不同,而相同又有两种情况,一种是匹配一种是跳过t[j]不匹配,如果跳过那就和t[j]不等于s[j]一样,直接就取nums[i][j-1],如果匹配那就是nums[i-1][j-1],所以t[j]和s[i]相同的情况下nums[i][j]=nums[i-1][j-1]+nums[i][j-1]。

一开始想的太复杂了,其实只要从最简单的i为0起手就行,i为0时任何j都能匹配所以一整行都是1,然后慢慢往下循环。

这是第一版代码:

class Solution {
public:unsigned long int nums[1001][1001];int numDistinct(string s, string t) {memset(nums,0,sizeof(nums));for(int i=0;i<=s.size();i++) nums[i][0]=1;for(int i=1;i<=s.size();i++){for(int j=1;j<=t.size();j++){if(s[i-1]==t[j-1]) nums[i][j]=nums[i-1][j-1]+nums[i-1][j];else nums[i][j]=nums[i-1][j];}}return nums[s.size()][t.size()];}
};

消耗内存还是太多了,其实想到可以简化空间复杂度,只需要一个一维数组记录就行,若不相等则不变,若相等则加上前一个数。

class Solution {
public:unsigned long int nums[1001];int numDistinct(string s, string t) {memset(nums,0,sizeof(nums));nums[0]=1;for(int i=1;i<=s.size();i++){for(int j=t.size();j>=1;j--){if(s[i-1]==t[j-1]) nums[j]=nums[j-1]+nums[j];}}return nums[t.size()];}
};

简化了很多,需要注意t要从后往前匹配,因为不能影响到后面的数值。

http://www.dtcms.com/wzjs/126509.html

相关文章:

  • 网站的按钮怎么做网站一年了百度不收录
  • 济南建站价格线上广告推广平台
  • 做营销网站要多少钱线上推广网络公司
  • 展览制作设计公司新网站怎么做优化
  • 信息化工作总结 网站建设任务推广引流平台
  • 泸西县住房和城乡建设局网站杭州疫情最新情况
  • 广东省政府集约化网站建设线上推广怎么做
  • 网站做反向代理对百度收录有影响吗关键词搜索神器
  • 软件学校网站模板百度获客
  • 网站开发费用如何入帐seo排名啥意思
  • 用易语言可以做网站吗如何开通网站
  • 苏州教育网站建设河南网站seo推广
  • 权威的赣州网站建设昆明网络营销公司哪家比较好
  • 一家专业做家谱的网站写文章在哪里发表挣钱
  • 深圳手机网站建设公司郑州网络推广公司排名
  • 网站建设优化陕西腾讯朋友圈广告怎么投放
  • 小程序加盟平台win7优化大师免安装版
  • php本地建站工具唯尚广告联盟app下载
  • 婚庆网站论文自媒体账号申请
  • 做网站需要注册公司吗深圳seo顾问
  • erp系统界面seo和sem哪个工资高
  • 宁波网站推广软件系统优化软件哪个好
  • wordpress 说说碎语武汉seo搜索引擎
  • 网站开发 javadw网站制作
  • seo整站优化网站建设seo搜索推广费用多少
  • 企业网站建设套餐网络服务深度搜索
  • 贵州成品网站银川seo优化
  • 宁波h5建站在线的crm系统软件
  • 城乡建设委员会网站官方网站怎么注册
  • 网站开发php支付接口网站推广的概念