Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >2021-08-14:给定两个字符串S和T,返回S的所有子序列中有多少个子序列的字面值等于T。

2021-08-14:给定两个字符串S和T,返回S的所有子序列中有多少个子序列的字面值等于T。

作者头像
福大大架构师每日一题
发布于 2021-09-03 07:23:06
发布于 2021-09-03 07:23:06
55700
代码可运行
举报
运行总次数:0
代码可运行

2021-08-14:给定两个字符串S和T,返回S的所有子序列中有多少个子序列的字面值等于T。

福大大 答案2021-08-14:

样本对应模型。

时间复杂度:O(N^2)。

空间复杂度:O(N^2)。

代码用golang编写。代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package main

import "fmt"

func main() {
    s := "1122"
    t := "12"
    ret := numDistinct1(s, t)
    fmt.Println(ret)
}

func numDistinct1(S string, T string) int {
    return process(S, T, len(S), len(T))
}

func process(s string, t string, i int, j int) int {
    if j == 0 {
        return 1
    }
    if i == 0 {
        return 0
    }
    res := process(s, t, i-1, j)
    if s[i-1] == t[j-1] {
        res += process(s, t, i-1, j-1)
    }
    return res
}

执行结果如下:

***

[左神java代码](https://github.com/algorithmzuo/coding-for-great-offer/blob/main/src/class17/Code04_DistinctSubseq.java)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-08-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 福大大架构师每日一题 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
2021-08-14:给定两个字符串S和T,返回S的所有子序列中有多少个子序列的字面值等于T。
2021-08-14:给定两个字符串S和T,返回S的所有子序列中有多少个子序列的字面值等于T。
福大大架构师每日一题
2021/08/14
5600
2021-08-14:给定两个字符串S和T,返回S的所有子序列中有多少个子序列的字面值等于T。
2021-08-15:给定一个字符串Str,返回Str的所有子序列中有多少不同的字面值。
2021-08-15:给定一个字符串Str,返回Str的所有子序列中有多少不同的字面值。
福大大架构师每日一题
2021/09/03
4580
2021-08-15:给定一个字符串Str,返回Str的所有子序列中有多少不同的字面值。
2021-08-04:给定一个字符串str,当然可以生成很多子序列。返回有多少个子序列是回文子序列,空序列不算回文。比如,str
2021-08-04:给定一个字符串str,当然可以生成很多子序列。返回有多少个子序列是回文子序列,空序列不算回文。比如,str = “aba”,回文子序列:{a}、{a}、 {a,a}、 {b}、{a,b,a},返回5。
福大大架构师每日一题
2021/08/06
3050
2021-02-08:给定一个字符串str,请问这个字符串的最长回文子序列长度是多少?
2021-02-08:给定一个字符串str,请问这个字符串的最长回文子序列长度是多少?
福大大架构师每日一题
2021/02/08
3930
2021-02-08:给定一个字符串str,请问这个字符串的最长回文子序列长度是多少?
2021-12-27:给定一个字符串str,和一个正数k, str子序列的字符种数必须是k种,返回有多少子序列满足这个条件。 已
假设有3种字符,k=2,那么种类上就是3取2,然后2种字符词频,求2的n次方相乘,最后累加。
福大大架构师每日一题
2021/12/29
2560
2021-12-27:给定一个字符串str,和一个正数k,
str子序列的字符种数必须是k种,返回有多少子序列满足这个条件。
已
2021-10-30:有效的字母异位词。给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。注意:若
2021-10-30:有效的字母异位词。给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。s 和 t 仅包含小写字母。力扣242。
福大大架构师每日一题
2021/11/09
5010
2021-10-30:有效的字母异位词。给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。注意:若
2021-05-26:给定一个char[][] matrix,也就是char类型的二维数组,再给定一个字符串word,可以从任何
2021-05-26:给定一个char[][] matrix,也就是char类型的二维数组,再给定一个字符串word,可以从任何一个某个位置出发,可以走上下左右,能不能找到word?char[][] m = {{ 'a', 'b', 'z' }, { 'c', 'd', 'o' }, { 'f', 'e', 'o' }}。设定1:可以走重复路的情况下,返回能不能找到。比如,word = "zoooz",是可以找到的,z -> o -> o -> o -> z,因为允许走一条路径中已经走过的字符。设定2:不可以走重复路的情况下,返回能不能找到。比如,word = "zoooz",是不可以找到的,因为允许走一条路径中已经走过的字符不能重复走。
福大大架构师每日一题
2021/08/05
5260
2021-08-04:给定一个字符串str,当然可以生成很多子序列
2021-08-04:给定一个字符串str,当然可以生成很多子序列。返回有多少个子序列是回文子序列,空序列不算回文。比如,str = “aba”,回文子序列:{a}、{a}、 {a,a}、 {b}、{a,b,a},返回5。
福大大架构师每日一题
2021/08/04
2620
2021-08-04:给定一个字符串str,当然可以生成很多子序列
2021-08-18:扰乱字符串。使用下面描述的算法可以扰乱字符串 s 得到字符串 t :1.如果字符串的长度为 1 ,算法停止
2021-08-18:扰乱字符串。使用下面描述的算法可以扰乱字符串 s 得到字符串 t :1.如果字符串的长度为 1 ,算法停止。2.如果字符串的长度 > 1 ,执行下述步骤:在一个随机下标处将字符串分割成两个非空的子字符串。即,如果已知字符串 s ,则可以将其分成两个子字符串 x 和 y ,且满足 s = x + y 。随机 决定是要「交换两个子字符串」还是要「保持这两个子字符串的顺序不变」。即,在执行这一步骤之后,s 可能是 s = x + y 或者 s = y + x 。在 x 和 y 这两个子字符串上继续从步骤 1 开始递归执行此算法。给你两个 长度相等 的字符串 s1 和 s2,判断 s2 是否是 s1 的扰乱字符串。如果是,返回 true ;否则,返回 false 。
福大大架构师每日一题
2021/09/03
4650
2021-08-18:扰乱字符串。使用下面描述的算法可以扰乱字符串 s 得到字符串 t :1.如果字符串的长度为 1 ,算法停止
2021-08-10:给定一个正数数组arr,返回arr的子集不能累加出的最小正数。1)正常怎么做? 2)如果arr中肯定有1这
2021-08-10:给定一个正数数组arr,返回arr的子集不能累加出的最小正数。1)正常怎么做?2)如果arr中肯定有1这个值,怎么做?
福大大架构师每日一题
2021/09/03
3380
2021-08-10:给定一个正数数组arr,返回arr的子集不能累加出的最小正数。1)正常怎么做? 2)如果arr中肯定有1这
2021-08-16:回文对。给定一组 互不相同 的单词, 找出所有 不同 的索引对 (i, j),使得列表中的两个单词, wo
2021-08-16:回文对。给定一组 互不相同 的单词, 找出所有 不同 的索引对 (i, j),使得列表中的两个单词, words[i] + words[j] ,可拼接成回文串。
福大大架构师每日一题
2021/09/03
1.1K0
2021-08-16:回文对。给定一组 互不相同 的单词, 找出所有 不同 的索引对 (i, j),使得列表中的两个单词, wo
2021-11-13:至少有 K 个重复字符的最长子串。给你一个字符串 s 和一个整数 k ,请你找出 s 中的最长子串, 要求
2021-11-13:至少有 K 个重复字符的最长子串。给你一个字符串 s 和一个整数 k ,请你找出 s 中的最长子串, 要求该子串中的每一字符出现次数都不少于 k 。返回这一子串的长度。提示:1 <= s.length <= 10的4次方,s 仅由小写英文字母组成,1 <= k <= 10的5次方。力扣395。
福大大架构师每日一题
2021/11/16
5730
2021-11-13:至少有 K 个重复字符的最长子串。给你一个字符串 s 和一个整数 k ,请你找出 s 中的最长子串, 要求
2021-10-10:杨辉三角 II。给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。在「杨辉三
2021-10-10:杨辉三角 II。给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。力扣119。
福大大架构师每日一题
2021/10/14
6490
2021-11-25:给定两个字符串s1和s2,返回在s1中
2021-11-25:给定两个字符串s1和s2,返回在s1中有多少个子串等于s2。来自美团。
福大大架构师每日一题
2021/11/26
3390
2021-06-08:一个字符串至少要切几刀能让切出来的子串都是回文串?
方法二、对字符串范围做是否是回文串的dp。dpi=true是i,j范围上是回文串,dpi依赖左下方。消耗O(N**2)的空间。
福大大架构师每日一题
2021/06/08
2130
2021-06-08:一个字符串至少要切几刀能让切出来的子串都是回文串?
2021-05-06:给定一个二维数组matrix, 你可以从任何位置出发,走向上下左右四个方向 。返回能走出来的最长的递增链长
2021-05-06:给定一个二维数组matrix, 你可以从任何位置出发,走向上下左右四个方向 。返回能走出来的最长的递增链长度。
福大大架构师每日一题
2021/08/05
3940
2021-10-26:给定一个数组arr,arr[i] = j,表示第i号试题的难度为j。给定一个非负数M。想出一张卷子,对于
2021-10-26:给定一个数组arr,arr[i] = j,表示第i号试题的难度为j。给定一个非负数M。想出一张卷子,对于任何相邻的两道题目,前一题的难度不能超过后一题的难度+M。返回所有可能的卷子种数。
福大大架构师每日一题
2021/11/09
3330
2021-10-26:给定一个数组arr,arr[i] = j,表示第i号试题的难度为j。给定一个非负数M。想出一张卷子,对于
2021-06-19:交错字符串。 有三个字符串s1,s2,s3。
2021-06-19:交错字符串。 有三个字符串s1,s2,s3。判断s3是否由s1和s2交错组成的。比如s1="abc",s2="123",s3="12ab3c",应该返回true,因为s3去掉123后,剩下的是abc。比如s1="abc",s2="123",s3="12ba3c",应该返回false,因为s3去掉123后,剩下的是bac,顺序不一致,不符合条件。
福大大架构师每日一题
2021/06/19
1960
2021-06-19:交错字符串。 有三个字符串s1,s2,s3。
2021-12-02:给定一个字符串str,和一个正数k。返回长度为k的所有子序列中,字典序最大的子序列。
2021-12-02:给定一个字符串str,和一个正数k。 返回长度为k的所有子序列中,字典序最大的子序列。 单调栈。先进来的元素大,后进来的元素小。 时间复杂度:O(N)。 额外空间复杂度:O(N)。 代码用golang编写。代码如下: package main import "fmt" func main() { s := "abcba" k := 3 ret := maxString(s, k) fmt.Println(ret) } func maxString(
福大大架构师每日一题
2021/12/04
1K0
2021-12-02:给定一个字符串str,和一个正数k。返回长度为k的所有子序列中,字典序最大的子序列。
2021-09-16:给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字
2021-09-16:给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。按键2对应:'a', 'b', 'c'。按键3对应:'d', 'e', 'f'。按键4对应:'g', 'h', 'i'。按键5对应:'j', 'k', 'l'。按键6对应:'m', 'n', 'o'。按键7对应:'p', 'q', 'r', 's'。按键8对应:'t', 'u', 'v'。按键9对应:'w', 'x', 'y', 'z'。示例 1:输入:digits = "23",输出:["ad","ae","af","bd","be","bf","cd","ce","cf"]。示例 2:输入:digits = "",输出:[]。示例 3:输入:digits = "2",输出:["a","b","c"]。
福大大架构师每日一题
2021/09/28
1.5K0
推荐阅读
2021-08-14:给定两个字符串S和T,返回S的所有子序列中有多少个子序列的字面值等于T。
5600
2021-08-15:给定一个字符串Str,返回Str的所有子序列中有多少不同的字面值。
4580
2021-08-04:给定一个字符串str,当然可以生成很多子序列。返回有多少个子序列是回文子序列,空序列不算回文。比如,str
3050
2021-02-08:给定一个字符串str,请问这个字符串的最长回文子序列长度是多少?
3930
2021-12-27:给定一个字符串str,和一个正数k, str子序列的字符种数必须是k种,返回有多少子序列满足这个条件。 已
2560
2021-10-30:有效的字母异位词。给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。注意:若
5010
2021-05-26:给定一个char[][] matrix,也就是char类型的二维数组,再给定一个字符串word,可以从任何
5260
2021-08-04:给定一个字符串str,当然可以生成很多子序列
2620
2021-08-18:扰乱字符串。使用下面描述的算法可以扰乱字符串 s 得到字符串 t :1.如果字符串的长度为 1 ,算法停止
4650
2021-08-10:给定一个正数数组arr,返回arr的子集不能累加出的最小正数。1)正常怎么做? 2)如果arr中肯定有1这
3380
2021-08-16:回文对。给定一组 互不相同 的单词, 找出所有 不同 的索引对 (i, j),使得列表中的两个单词, wo
1.1K0
2021-11-13:至少有 K 个重复字符的最长子串。给你一个字符串 s 和一个整数 k ,请你找出 s 中的最长子串, 要求
5730
2021-10-10:杨辉三角 II。给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。在「杨辉三
6490
2021-11-25:给定两个字符串s1和s2,返回在s1中
3390
2021-06-08:一个字符串至少要切几刀能让切出来的子串都是回文串?
2130
2021-05-06:给定一个二维数组matrix, 你可以从任何位置出发,走向上下左右四个方向 。返回能走出来的最长的递增链长
3940
2021-10-26:给定一个数组arr,arr[i] = j,表示第i号试题的难度为j。给定一个非负数M。想出一张卷子,对于
3330
2021-06-19:交错字符串。 有三个字符串s1,s2,s3。
1960
2021-12-02:给定一个字符串str,和一个正数k。返回长度为k的所有子序列中,字典序最大的子序列。
1K0
2021-09-16:给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字
1.5K0
相关推荐
2021-08-14:给定两个字符串S和T,返回S的所有子序列中有多少个子序列的字面值等于T。
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验