当前位置:网站首页>剑指 Offer II 097. 子序列的数目
剑指 Offer II 097. 子序列的数目
2022-07-29 20:16:00 【小卢要刷力扣题】
前言
给定一个字符串 s 和一个字符串 t ,计算在 s 的子序列中 t 出现的个数。
字符串的一个 子序列 是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,“ACE” 是 “ABCDE” 的一个子序列,而 “AEC” 不是)
题目数据保证答案符合 32 位带符号整数范围。
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/21dk04
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
解题思路
样本对应模型
dp[i][j]
S从0…i的前缀字符串,有多少种方案能变成T的0…j这个前缀字符串的方案数

右下角是答案

dp[0][0]填1,代表两个空串
第一行填0;
第1列都填1
普遍位置
1)不保留i位置的字符
dp[i-1][j]
2) 一定要用的]位置
有条件,要求s[i]== t[j]的情况下,才有这个可能性
dp[i][j]+=dp[i-1][j-1]
代码
class Solution {
public int numDistinct(String s, String t) {
char[] str1=s.toCharArray();
char[] str2=t.toCharArray();
int n=str1.length;
int m=str2.length;
int[][] dp=new int[n+1][m+1];
for(int i=0;i<=n;i++){
dp[i][0]=1;
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
dp[i][j]=dp[i-1][j]+(str1[i-1]==str2[j-1]?dp[i-1][j-1]:0);
}
}
return dp[n][m];
}
}
边栏推荐
- 五个供应商销售谈判策略的识别以及应对它们的方法
- ACM学习书籍简介
- mysql get field comments and get table fields
- Safe Browser will have these hidden features that will let you play around with your browser
- 图床软件要收费,算了我自己写一个开源免费的。
- 单壁碳纳米管-DNA复合物(SWCNT-DNA)|作用机理
- 使用MD5加密后的字符串存密码安全吗?你不得不了解的Hash算法
- 如何优雅的自定义 ThreadPoolExecutor 线程池
- ACM study book introduction
- offsetwidth111[通俗易懂]
猜你喜欢

一线技术人应该关注的四种思维能力

Expert advice | How to formulate a growth strategy for survival in an economic downturn

优惠券系统设计思想

RNA修饰技术介绍|介孔二氧化硅纳米颗粒(MSN)搭载的微小RNA-24(miR-24)纳米载体复合物

ACM学习书籍简介

Common power symbols meaning sharing

The ambition of glory: "high-end civilians" in a smart world

7 行代码搞崩溃 B 站,原因令人唏嘘!

GalNAc-siRNA甘露糖/半乳糖修饰脱氧核糖核酸|siRNA-S-S-DSPE(RNA修饰技术介绍)
![[mathematical foundation] higher mathematics concept learning](/img/59/3e1608de63c60201b3e7aaaf032d42.png)
[mathematical foundation] higher mathematics concept learning
随机推荐
Monitoring basic resources through observation cloud monitor, automatic alarm
JMeter使用教程(二)
Kubernetes:(四)常用命令
JUC并发编程基础AQS
断言+异常处理类,代码更简洁了
The ambition of glory: "high-end civilians" in a smart world
JS实现百叶窗特效
海量数据查询方案mysql_Mysql海量数据存储和解决方案之二—-Mysql分表查询海量数据…[通俗易懂]
关于安装软件时x86 ,x64,x86_64,ARM 64, ARM 32 的选择
【无标题】
软件开发模式有哪些(软件工程开发模式)
QT安装、创建项目与调试,在VS中的使用:手把手教程
SwiftUI * @State 相关问题
8.2实训任务 Sqoop的安装与配置
[Mathematical Foundation] Learning about concepts related to linear algebra
Expert advice | How to formulate a growth strategy for survival in an economic downturn
:style中颜色使用函数动态获取赋值
webUI测试框架设计思路详解
conda virtual environment | install and list problems
用 Array.every & Array.some 匹配全部/部分内容 es6