博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Distinct Subsequences
阅读量:5135 次
发布时间:2019-06-13

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

Given a string S and a string T, count the number of distinct subsequences of T in S.

A subsequence of a string is a new string which is formed from the original string by deleting some (can be none) of the characters without disturbing the relative positions of the remaining characters. (ie, "ACE" is a subsequence of "ABCDE" while "AEC" is not).

 

Example

Given S = "rabbbit", T = "rabbit", return 3.

Challenge

Do it in O(n2) time and O(n) memory.

O(n2) memory is also acceptable if you do not know how to optimize memory.

 

 

public class Solution {    /**     * @param S, T: Two string.     * @return: Count the number of distinct subsequences     */    public int numDistinct(String S, String T) {        // write your code here        if(T.length()==0) return 1;        if(S.length()==0) return 0;        int m=S.length();        int n=T.length();                int[][] res=new int[m+1][n+1];                for(int i=0;i<=m;i++)        {            res[i][0]=1;        }                for(int i=1;i<=m;i++)        {            for(int j=1;j<=n;j++)            {                if(S.charAt(i-1)==T.charAt(j-1))                {                    res[i][j]=res[i-1][j-1]+res[i-1][j];                }                else                {                    res[i][j]=res[i-1][j];                }            }        }                return res[m][n];            }}

 

转载于:https://www.cnblogs.com/kittyamin/p/5115368.html

你可能感兴趣的文章
Android Bitmap 和 Canvas详解
查看>>
最大权闭合子图
查看>>
oracle 创建暂时表
查看>>
201421410014蒋佳奇
查看>>
导入导出数据库和导入导出数据库表
查看>>
linux下操作mysql
查看>>
【03月04日】A股滚动市盈率PE历史新低排名
查看>>
Xcode5和ObjC新特性
查看>>
jvm slot复用
查看>>
高并发系统数据库设计
查看>>
LibSVM for Python 使用
查看>>
入坑的开始~O(∩_∩)O~
查看>>
Centos 7.0 安装Mono 3.4 和 Jexus 5.6
查看>>
Windows 7 上安装Visual Studio 2015 失败解决方案
查看>>
iOS按钮长按
查看>>
Shell流程控制
查看>>
CSS属性值currentColor
查看>>
[Leetcode|SQL] Combine Two Tables
查看>>
《DSP using MATLAB》Problem 7.37
查看>>
ROS lesson 1
查看>>