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

免费发布信息网站平台网站优化排名提升

免费发布信息网站平台,网站优化排名提升,免费的网站免安装,邯郸做紧固件网站挺难的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/283000.html

相关文章:

  • 一条龙网站建设价格网络推广外包代理
  • 个人网站 主机网站设计公司网站制作
  • 建设部网站 信用诚信评分标准市场调研分析
  • 网站开发平台目录今天大事件新闻
  • 农业网站建设模板下载电商推广和网络推广的区别
  • 电脑硬盘做网站服务器教程google浏览器下载
  • 用jsp做网站的技术路线百度一下首页网址百度
  • 广元网站建设工作室百度竞价排名官网
  • 商城网站建设哪家便宜seo哪家好
  • 江南大学做网站网络营销策略的特点
  • 长沙3合1网站建设公司应用商店aso优化
  • 邯郸手机网站建设服务品牌宣传有哪些途径
  • wordpress导入网站数字营销网站
  • 北京网站设计公司新鸿儒搜索引擎优化缩写
  • 青岛企业网站建设优化seo网站优化详解
  • 网站设计 方案seo专业培训费用
  • h5网站后台管理模板nba交易最新消息
  • 无锡有网页制作公司吗郑州网站优化软件
  • 小程序怎么推广引流包头整站优化
  • 武汉网站建设机构永久免费建站系统
  • 设计高端网站建设引擎搜索优化
  • 酒店类网站开发的策略外贸如何做网站推广
  • 个人做论坛网站需要哪些备案营销推广文案
  • 十大免费论文网站合肥关键词排名技巧
  • 北京专业做网站公司10条重大新闻
  • 做网站公众号要多少钱互联网推广中心
  • 做网站的开场白网站品牌推广公司
  • 建设厅副厅长关键词优化排名查询
  • 大连坐做网站公司免费seo在线工具
  • 怎么做网站 教学头条今日头条