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

不同的子序列

题目

给定一个字符串 s 和一个字符串 t ,计算在 s 的子序列中 t 出现的个数。

字符串的一个 子序列 是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,“ACE” 是 “ABCDE” 的一个子序列,而 “AEC” 不是)

题目数据保证答案符合 32 位带符号整数范围。

示例 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^^^

提示:

0 <= s.length, t.length <= 1000
s 和 t 由英文字母组成

参考答案

class Solution {
public:int numDistinct(string s, string t) {int m = s.length(), n = t.length();if (m < n) {return 0;}vector<vector<long>> dp(m + 1, vector<long>(n + 1));for (int i = 0; i <= m; i++) {dp[i][n] = 1;}for (int i = m - 1; i >= 0; i--) {char sChar = s.at(i);for (int j = n - 1; j >= 0; j--) {char tChar = t.at(j);if (sChar == tChar) {dp[i][j] = dp[i + 1][j + 1] + dp[i + 1][j];} else {dp[i][j] = dp[i + 1][j];}}}return dp[0][0];}
};

相关文章:

不同的子序列

题目 给定一个字符串 s 和一个字符串 t &#xff0c;计算在 s 的子序列中 t 出现的个数。 字符串的一个 子序列 是指&#xff0c;通过删除一些&#xff08;也可以不删除&#xff09;字符且不干扰剩余字符相对位置所组成的新字符串。&#xff08;例如&#xff0c;“ACE” 是 “…...

CI24R1——精简版Si24R1,高性价比替代XN297开发资料

CI24R1为了减低用户的开发时间&#xff0c;将2.4G芯片开发出2.4G小模块&#xff0c;用户直接贴片调试&#xff0c;大大降低了开发时间跟生产工序。广泛应用在灯控、鼠标、玩具等智能物联网产品。 CI24R1小模块&#xff08;内置天线&#xff09; 是 2.4GHz 模块。该模块核心处理…...

MySQL递归查询笔记

目录 一、创建表结构和插入数据 二、查询所有子节点 三、查询所有父节点 四、查询指定节点的根节点 五、查询所有兄弟节点&#xff08;同级节点&#xff09; 六、获取祖先节点及其所有子节点 七、查询每个节点之间的层级关系 八、查询指定节点之间的层级关系 一、创建表…...

java中的位运算

位运算是对整数的二进制位进行操作的一种运算。在java中long, int, short, char和byte类型都可以使用位运算。 位运算的过程如下&#xff1a;首先将十进制整数转换成二进制表示形式&#xff0c;然后将位运算符应用于每个二进制数位&#xff0c;并计算结果。最后&#xff0c;将…...

llamafactory0.9.0微调qwen2vl

LLaMA-Factory/data/README_zh.md at main hiyouga/LLaMA-Factory GitHubEfficiently Fine-Tune 100+ LLMs in WebUI (ACL 2024) - LLaMA-Factory/data/README_zh.md at main hiyouga/LLaMA-Factoryhttps://github.com/hiyouga/LLaMA-Factory/blob/main...

Electron 隐藏顶部菜单

隐藏前&#xff1a; 隐藏后&#xff1a; 具体设置代码&#xff1a; 在 main.js 中加入这行即可&#xff1a; // 导入模块 const { app, BrowserWindow ,Menu } require(electron) const path require(path)// 创建主窗口 const createWindow () > {const mainWindow ne…...

软件测试学习笔记丨curl命令发送请求

本文转自测试人社区&#xff0c;原文链接&#xff1a;https://ceshiren.com/t/topic/32332 一、简介 cURL是一个通过URL传输数据的&#xff0c;功能强大的命令行工具。cURL可以与Chrome Devtool工具配合使用&#xff0c;把浏览器发送的真实请求还原出来&#xff0c;附带认证信…...

STM32+PWM+DMA驱动WS2812 —— 2024年9月24日

一、项目简介 采用STM32f103C8t6单片机&#xff0c;使用HAL库编写。项目中针对初学者驱动WS2812时会遇到的一些问题&#xff0c;给出了解决方案。 二、ws2812驱动原理 WS2812采用单线归零码的通讯方式&#xff0c;即利用高低电平的持续时间来确定0和1。这种通信方式优点是只需…...

MMD模型及动作一键完美导入UE5-IVP5U插件方案(二)

1、下载并启用IVP5U插件 1、下载IVP5U插件, IVP5U,点击Latest下载对应引擎版本,将插件放到Plugins目录,同时将.uplugin文件的EnableByDefault改为false 2、然后通过Edit->Plugins启用插件 2、导入pmx模型 1、直接在Content的某个目录拖入pmx模型,选择默认参数 2、…...

C++函数指针

函数指针是将一个函数赋值给一个变量的方法 我们使用函数的方法&#xff0c;可能会给函数传入参数&#xff0c;或者传入参数&#xff0c;函数可能有返回值&#xff0c;也可能没有返回值&#xff08;void&#xff09; 下面这个例子&#xff0c;我们调用了HelloWorld函数 auto关…...

汽车信息安全 -- 再谈车规MCU的安全启动

目录 1. 安全启动流程回顾 1.1 TC3xx的安全启动 1.2 RH850的安全启动 1.3 NXP S32K3的安全启动 1.4 小结 2.信任链的问题 3.国产HSM IP的拓展 今天接着 汽车信息安全 -- 存到HSM中的密钥还需包裹吗&#xff1f;-CSDN博客这篇文章深究另一个重要功能-- 安全启动。 该文章…...

[Linux]从零开始的Linux的远程方法介绍与配置教程

一、为什么需要远程Linux 相信大家在学习Linux时&#xff0c;要么是使用Linux的虚拟机或者在物理机上直接安装Linux。这样确实非常方便&#xff0c;我们也能直接看到Linux的桌面或者终端。既然我们都能直接看到终端或者Linux的桌面了&#xff0c;那我们为什么还要远程Linux呢&a…...

手机改IP地址怎么弄?全面解析与操作指南

在当今数字化时代&#xff0c;IP地址作为设备在网络中的唯一标识&#xff0c;其重要性不言而喻。有时候&#xff0c;出于隐私保护、网络访问需求或其他特定原因&#xff0c;我们可能需要更改手机的IP地址。然而&#xff0c;对于大多数普通用户来说&#xff0c;如何操作可能还是…...

【React】useState 和 useRef:项目开发中该如何选择

如果你正踏入用 React 进行网页开发的世界&#xff0c;那你可能已经遇到了像 useState 和 useRef 这样的术语。这两个 Hook 在构建交互性和动态组件时起着至关重要的作用。 下面&#xff0c;我们将探讨它们是什么&#xff0c;它们的功能&#xff0c;它们的区别&#xff0c;并通…...

python装饰器用法

为什么用装饰器&#xff1f; 第一个原因是&#xff0c;使用装饰器可以提升代码复用&#xff0c;避免重复冗余代码。如果我有多个函数需要测量执行时间&#xff0c;我可以直接将装饰器应用在这些函数上&#xff0c;而不是给多个函数加上一样的代码。这样的代码既元余也不方便后…...

AI 写作太死板?原因竟然是这个!

有些同学跟我埋怨说AI生成的文章太死板&#xff0c;一堆的“首先、其次、然后、再次、接着、总而言之……”&#xff0c;说话太官方&#xff0c;内容还很水。 想要让它模仿谁的语气&#xff0c;或者谁的文章&#xff0c;一点儿都不像。 名人都不模仿不了&#xff0c;更别说模…...

ansible实用模块

简介 ansible是基于 paramiko 开发的,并且基于模块化工作&#xff0c;本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块&#xff0c;ansible只是提供一种框架。ansible不需要在远程主机上安装client/agents&#xff0c;因为它们是基于ssh来和远程主机通讯的。…...

【JavaScript】JIT

JIT实际上指&#xff0c;JS的编译过程、运行时。 Just in Time 在传统的编译语言里&#xff0c;比如JAVA、Go等&#xff0c;是提前编译的&#xff0c;它们的执行是先在本地编译出一个"东西"&#xff0c;然后在放到服务器上运行。 提前编译的三大过程&#xff1a; …...

Matlab实现麻雀优化算法优化回声状态网络模型 (SSA-ESN)(附源码)

目录 1.内容介绍 2.部分代码 3.实验结果 4.内容获取 1内容介绍 麻雀搜索算法&#xff08;Sparrow Search Algorithm, SSA&#xff09;是一种新兴的群体智能优化算法&#xff0c;灵感来源于麻雀的觅食行为及其在面临危险时的预警机制。SSA通过模拟麻雀的这些自然行为来寻找问题…...

从 TCP Reno 经 BIC 到 CUBIC

重读 TCP拥塞控制算法-从BIC到CUBIC 以及 cubic 的 tcp friendliness 与拐点控制 这两篇文章&#xff0c;感觉还是啰嗦了&#xff0c;今日重新一气呵成这个话题。 reno 线性逼近管道容量 Wmax&#xff0c;相当于一次查询(capacity-seeking)&#xff0c;但长肥管道从 0.5*Wmax …...

2024具身智能技术全景解析:从人形机器人到AGI的硬件与算法协同进化

1. 具身智能&#xff1a;当机器人学会"思考"和"行动" 想象一下&#xff0c;你家的扫地机器人不仅能自动规划路线清洁地板&#xff0c;还能在你做饭时递调料瓶、在你工作疲惫时泡一杯咖啡——这不是科幻电影&#xff0c;而是具身智能技术正在实现的场景。具…...

从‘深度学习之美’到TensorFlow 2.9:一个MNIST手写识别项目的实战重构记

1. 当经典教材遇上TensorFlow 2.9&#xff1a;我的MNIST重构历险记 记得第一次翻开《深度学习之美》这本书时&#xff0c;我被其中用TensorFlow实现MNIST手写识别的案例深深吸引。但当我兴冲冲打开电脑准备复现时&#xff0c;却发现书中的TensorFlow 1.x代码在2.9环境下几乎寸步…...

Ncorr 2D:开源数字图像相关技术的架构解析与工程实现

Ncorr 2D&#xff1a;开源数字图像相关技术的架构解析与工程实现 【免费下载链接】ncorr_2D_matlab 2D Digital Image Correlation Matlab Software 项目地址: https://gitcode.com/gh_mirrors/nc/ncorr_2D_matlab 在材料力学、生物医学和结构工程领域&#xff0c;精确测…...

Degrees of Lewdity中文本地化版本完全指南:从安装到精通

Degrees of Lewdity中文本地化版本完全指南&#xff1a;从安装到精通 【免费下载链接】Degrees-of-Lewdity-Chinese-Localization Degrees of Lewdity 游戏的授权中文社区本地化版本 项目地址: https://gitcode.com/gh_mirrors/de/Degrees-of-Lewdity-Chinese-Localization …...

为什么你的Python多解释器程序总在崩溃?进程隔离、对象序列化与引用计数泄漏全链路诊断,立即修复

第一章&#xff1a;Python多解释器通信的底层本质与崩溃根源Python 多解释器&#xff08;Multi-Interpreter&#xff0c;PEP 684&#xff09;是 CPython 3.12 引入的核心机制&#xff0c;旨在实现真正的并行解释器隔离——每个解释器拥有独立的全局状态&#xff08;如 sys.modu…...

基于dify智能客服工作流的多智能体架构实战:高并发场景下的设计与优化

背景痛点&#xff1a;当智能客服遭遇流量洪峰 最近在负责一个电商大促期间的智能客服系统保障&#xff0c;真切体会到了传统单体智能体架构的“力不从心”。我们的客服机器人基于一个大语言模型构建&#xff0c;平时QPS在50左右时&#xff0c;响应时间&#xff08;RT&#xff0…...

League-Toolkit完全指南:高效BP策略与全方位战绩分析实战应用

League-Toolkit完全指南&#xff1a;高效BP策略与全方位战绩分析实战应用 【免费下载链接】League-Toolkit 兴趣使然的、简单易用的英雄联盟工具集。支持战绩查询、自动秒选等功能。基于 LCU API。 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 功能解析…...

解构 Claude Code

大多数开发者认为 AI 编码工具就是一个聊天界面。你输入&#xff0c;它回复。你复制代码。你继续前进。 Claude Code 完全不同。 1、传统方式 vs Claude Code 方式 想象雇佣一位聪明的开发者&#xff0c;他他* 每次关闭对话就忘记一切 不知道自己在什么项目除非你每次都描述…...

Steam致命错误failed to load steamui.dll?小白必看的6种实用修复方案

软件获取地址 https://pan.quark.cn/s/4cc6a4c0e881 打开Steam时突然弹出“failed to load steamui.dll”提示&#xff0c;无法进入平台甚至启动Y戏&#xff1f;这是Steam最常见的致命错误之一&#xff0c;在failed to load类问题中占比超4成&#xff0c;很多小白不清楚dll文件…...

大三大学生挖洞收入十万背后:网安圈的“天才少年”,普通人能复制吗?

大三学生挖洞收入十万背后&#xff1a;网安圈的 “天才少年” &#xff0c;普通人能复制吗&#xff1f; SRC首期学员战绩疯传&#xff1a;大四小白45天回本6K&#xff1f;大三在读2个月挖洞收获六位数&#xff1f; 当朋友圈被"零基础挖洞暴富"的捷报疯狂刷屏时&…...