代码随想录训练营Day54:Leetcode392、115

server/2024/10/15 20:16:23/

Leetcode392:

问题描述:

给定字符串 s 和 t ,判断 s 是否为 t 的子序列。

字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace""abcde"的一个子序列,而"aec"不是)。

代码思路解析:

假如只能使用动态规划法:

class Solution {
public://dp[i][j]代表s的前i个字符与t的前j个字符已经匹配字符的个数int dp[105][10005];bool isSubsequence(string s, string t) {int n1=s.size();int n2=t.size();for(int i=1;i<=n1;i++){for(int j=1;j<=n2;j++){if(s[i-1]==t[j-1])dp[i][j]=1+dp[i-1][j-1];else dp[i][j]=dp[i][j-1];}}return dp[n1][n2]==n1;}
};

Leetcode115:

问题描述:

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

示例 1:

输入:s = "rabbbit", t = "rabbit"
输出3
解释:
如下所示, 有 3 种可以从 s 中得到 "rabbit" 的方案rabbbit
rabbbit
rabbbit

示例 2:

输入:s = "babgbag", t = "bag"
输出5
解释:
如下所示, 有 5 种可以从 s 中得到 "bag" 的方案babgbag
babgbag
babgbag
babgbag
babgbag

代码思路解析:

class Solution {
public://dp[i][j]表示,s前i个字符与t前j个字符已经匹配的子序列个数long long dp[1005][1005];int numDistinct(string s, string t) {int n=s.size();int m=t.size();if(n<m)return 0;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++){if(s[i-1]==t[j-1]){dp[i][j]= (dp[i-1][j-1]+dp[i-1][j])%(long long)(1e9+7);}elsedp[i][j]=dp[i-1][j]%(long long)(1e9+7);}}return dp[n][m];}
};


http://www.ppmy.cn/server/46040.html

相关文章

辅助科技照亮道路,携手共促盲文书写技能新飞跃

在这个科技日新月异的时代&#xff0c;创新的力量正以前所未有的方式融入我们的日常生活&#xff0c;特别是对于视觉障碍群体而言&#xff0c;技术的每一次进步都是通往更加独立生活的桥梁。今天&#xff0c;让我们聚焦于一款名为“蝙蝠避障”的辅助软件&#xff0c;它不仅为盲…

一些常见的 Conda 命令

Conda 是一个用于包管理和环境管理的开源软件包&#xff0c;特别是用于Python环境。以下是一些常见的 Conda 命令&#xff1a; 创建环境&#xff1a; conda create --name myenv # 创建一个名为 myenv 的新环境 conda create --name myenv python3.8 # 创建一个指定 Python 版本…

射频功率限幅器简略

在功率输入保护方面&#xff0c;限幅器是最好用的器件之一&#xff0c;可以保护后级电路不受超限功率的损害&#xff0c;限幅器其实像TVS功能一样&#xff0c;让超过阈值的功率释放到接地上&#xff0c;来达到限制幅度的目的&#xff0c;目前限幅器的限幅幅度大多都大于15dBm,很…

软件测试 - 第四章课后作业

软件测试 - 第四章课后作业 一单选题&#xff08;共6题&#xff0c;33分&#xff09; (单选题)下列选项中&#xff0c;不属于HTTP请求组成部分的是( )。 A. 请求行 B. 请求体 C. 状态行 D. 请求头 正确答案: C:状态行;(单选题)下列关于HTTP响应说法错误的是( )。 A. 当服务器…

VB.net进行CAD二次开发(三)

参考文献1中CAD .net开发系列1-7&#xff0c;非常地好&#xff0c;需要逐一测试和运行 上面的catch块只显示一个错误信息。实际的清理工作是在finally块中进行的。这样做的理由是如果在事务处理被提交&#xff08;Commit()&#xff09;之前&#xff0c;Dispose()被调用的话&am…

任务悬赏系统:遵守规则,轻松赚取佣金

前言 在数字化时代&#xff0c;任务悬赏系统作为一种新兴的平台&#xff0c;正逐渐融入我们的日常生活。这类系统不仅为用户提供了自我展示和技能变现的舞台&#xff0c;更成为了一种轻松赚取佣金的途径。 一、任务悬赏系统是什么&#xff1f; 简单来说&#xff0c;任务悬赏系…

MySQL -- SQL笔试题相关

1.银行代缴花费bank_bill 字段名描述serno流水号date交易日期accno账号name姓名amount金额brno缴费网点 serno: 一个 BIGINT UNSIGNED 类型的列&#xff0c;作为主键&#xff0c;且不为空。该列是自动增量的&#xff0c;每次插入新行时&#xff0c;都会自动递增生成一个唯一的…

优化CPU占用率及内存占用2

在标准化无线通信板时&#xff0c;关注过程序占用ram的问题&#xff0c;当时 发现每一个线程都会分配8M栈空间&#xff0c;这次换rk3568后&#xff0c;偶尔看了下RAM占用&#xff0c;吓了一跳&#xff0c;不但每个线程有8M栈空间&#xff0c;几乎每个线程都占用了64MB的一个RAM…