博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode 115. 不同的子序列(Distinct Subsequences)
阅读量:4695 次
发布时间:2019-06-09

本文共 913 字,大约阅读时间需要 3 分钟。

目录

题目描述:

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

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

示例 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:    int numDistinct(string s, string t) {        int sz = t.size();        vector
count(sz+1, 0); // rabbbit // rabbit count[0] = 1; for(char ch : s){ for(int i = sz-1; i >= 0; i--){ if(ch == t[i]){ count[i+1] += count[i]; } } } return count[sz]; }};

转载于:https://www.cnblogs.com/zhanzq/p/10636759.html

你可能感兴趣的文章
C语言实现封装、继承和多态
查看>>
创建文件
查看>>
Nginx 相关介绍
查看>>
leetcode[33]Search in Rotated Sorted Array
查看>>
安卓上按钮绑定监听事件的两种写法
查看>>
OpenCV Shi-Tomasi角点检测子
查看>>
eval(PHP 4, PHP 5)
查看>>
readelf用法小记
查看>>
结对编程进展总结
查看>>
Java中JavaScript unescape与escape函数算法
查看>>
js的基础要点
查看>>
第一篇
查看>>
C#结构体和类的区别
查看>>
模板 - 数论函数
查看>>
windows Api AlphaBlend的使用方法
查看>>
mysql主从延迟高的原因
查看>>
Leetcode 47. Permutations II
查看>>
DLL入门浅析【转】
查看>>
sql server:取当前时间前10分钟之内的数据 dateadd()
查看>>
python安装MySQLdb:出错Microsoft Visual C++ 9.0 is required
查看>>