问题
115.不同的子序列(力扣)
给定一个字符串 s
和一个字符串 t
,计算在 s
的子序列中 t
出现的个数。字符串的一个 子序列 是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,"ACE"
是 "ABCDE"
的一个子序列,而 "AEC"
不是)
动态规划解题步骤
1、概述
建立二位数组dp[][],行表示串s[0...m-1],列表示串t[0...n-1],串在数组中从下标为[1]开始。
例:s = "rabbbit", t = "rabbit",如图:其中s[0]对应列dp[][1],t[0]对应行dp[1][]
约定:串t在串s子序列中出现的个数记为num[s,t];dp[i][j]的值表示t的子串t