首页 > 其他分享 >115不同的子序列

115不同的子序列

时间:2023-10-23 13:22:32浏览次数:31  
标签:return string int 不同 115 序列 dp size

本题有两种思路:

  • 在s中找到t的开头字母,假设s[1]==t[0],那么dp(s,1,t,0)就等于dp(s,2,t,1);
  • 假设在s中找到s[i]==t[j],那么将会有两种情况:1.就让i位置和j匹配:dp(s,i+1,t,j+1)2.不让i位置和j匹配:dp(s,i+1,t,j);

如果i和j的位置都不匹配当然直接算dp(s,i+1,t,j);无论什么情况都会i+1,因此不需要for循环。

dp(string s,int i ,string t,int j){
  if(j==t.size())return 1;//j的指针已经走过最后一位了
  if((s.size()-i)<(t.size()-j))return 0;
  int res=0;
  if(mem[i][j]!=-1)return mrm[i][j];
  for(int k=i;k<s.size();k++){
    if(s[k]==t[j]){
      res+=dp(s,k+1.t.j+1);
    }
  }
  mem[i][j]=res;
  return mem[i][j];
}

 

dp(string s,int i,string t,int j){
  if(j==t.size())return 1;
  if((s.size()-i)<(t.size()-j)){
    return 0;
  }
  if(mem[i][j]!=-1)return mem[i][j];
  if(s[i]==t[j]){
    res+=dp(s,i+1,t,j+1)+dp(s,i+1,t,j);
  }else{
    res+=dp(s,i+1,t,j);
  }
  mem[i][j]=res;
  return mem[i][j];
}

 

标签:return,string,int,不同,115,序列,dp,size
From: https://www.cnblogs.com/wangkaixin-yy/p/17782181.html

相关文章

  • LeetCode 300. 最长递增子序列
    最长递增子序列题目链接:300.最长递增子序列题目描述:给你一个整数数组nums,找到其中最长严格递增子序列的长度。子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7]是数组[0,3,1,6,2,2,7]的子序列。示例1:输入:nums=[10,9,2,5,3,......
  • LeetCode 376. 摆动序列
    最长递增子序列题目链接:376.摆动序列题目描述:如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为**摆动序列。**第一个差(如果存在的话)可能是正数或负数。仅有一个元素或者含两个不等元素的序列也视作摆动序列。例如,[1,7,4,9,2,5]是一个摆动序列,因为差值......
  • 1.参考例5.2.1,设计一个序列检测器。功能是检测出串行输入数据Sin中的4位二进制序列010
    设计块:moduleDetector2(inputCP,Sin,nCR,outputregOut);reg[1:0]Current_state,Next_state;parameterS0=2'b00,S1=2'b01,S2=2'b10,S3=2'b11;always@(posedgeCP,negedgenCR)begin if(~nCR)   begin    Current_state......
  • 序列化
    ###Serializer#models.pyfromdjango.dbimportmodelsclassRole(models.Model):title=models.CharField(verbose_name="标题",max_length=32)order=models.IntegerField(verbose_name="顺序")#views.pyfromdjango.dbimportmode......
  • 【HTML】第四讲:有序列表和无序列表
    今天你进步了吗!@放纵lili一、有序列表。1、以数字和字母等可以表示顺序的符号为项目符号来排列列表项的列表为有序列表。2、形式:共有以下五种。3、基本语法:#记忆起来也很容易的:ol就是orderlist有序列表li就是列表。4、<li>标签里可以任意嵌套,但是<ol>标签,就只能嵌套<li>标签。5、t......
  • 探讨Socks5代理技术的原理及其在不同领域的应用
    Socks5代理:实现网络连接的智能之选作为一种网络代理协议,Socks5代理技术通过转发网络数据包,实现了客户端和服务器之间的代理传输。其独特的特性在跨界电商、爬虫数据分析、企业出海和游戏体验等领域发挥着关键作用,为用户提供了更高效、安全的网络连接方式。跨界电商:打通全球市场的智......
  • json序列化数据超出最大值(maxJsonLength)
    https://www.cnblogs.com/ellafive/p/13704301.html 1、序列化:以下代码在对象过大时会报错:进行序列化或反序列化时出错。字符串的长度超过了为maxJsonLength属性设置的值。//jsonObj比较大的时候会报错varserializer=newJavaScriptSerializer();returnserializer.Ser......
  • make clean命令清理在不同目录中编译的对象
    gnu-makemakefile UsingMakefiletocleansubdirectories是否可以从父目录执行makeclean,而该父目录又递归清除所有子目录,而不必在每个子目录中都包含makefile?例如,当前在我的Makefile中,我有类似以下内容:123456789SUBDIRS=src,src1.PHONY:cleansubdirs$(S......
  • [BJWC2018] 序列合并
    朴素的\(O(n^4)\)是容易的,考虑如何优化,通过一些观察可以发现\(\texttt{dp}\)不具有凸性和决策单调性,所以只能用普通的矩阵乘法来优化,我们令\(\texttt{dp}\)数组构成的矩阵为\(A\),那么\(dp_{l,r}\)则可以从所有\(L\leqslantx\leqslantR\)的\(A^x\)转移而来,我们采用......
  • 序列化错误
    org.springframework.data.redis.serializer.SerializationException:Cannotserialize;nestedexceptionisorg.springframework.core.serializer.support.SerializationFailedException:FailedtoserializeobjectusingDefaultSerializer;nestedexceptionisjava.......