首页 > 其他分享 >392. 判断子序列

392. 判断子序列

时间:2023-06-06 15:44:56浏览次数:45  
标签:判断 int 392 len1 字符串 序列 size

给定字符串 s 和 t ,判断 s 是否为 t 的子序列。

字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。

进阶:

如果有大量输入的 S,称作 S1, S2, ... , Sk 其中 k >= 10亿,你需要依次检查它们是否为 T 的子序列。在这种情况下,你会怎样改变代码?

致谢:

特别感谢 @pbrother 添加此问题并且创建所有测试用例。


示例 1:

输入:s = "abc", t = "ahbgdc"
输出:true

> 动态规划


class Solution {
public:
    bool isSubsequence(string s, string t) {
        int len1 = s.size();
        int len2 = t.size();
        vector<vector<int>> dp(len1+1,vector<int>(len2+1,0));
        for(int i = 1;i <= len1;i++){
            for(int j = 1;j <= len2;j++){
                if(s[i-1] == t[j-1]){
                    dp[i][j] = dp[i-1][j-1] + 1;
                }
                else{
                    dp[i][j] = dp[i][j-1];
                }
            }
        }
        if (dp[len1][len2] == len1) return true;
        return false;
    }
};

标签:判断,int,392,len1,字符串,序列,size
From: https://www.cnblogs.com/lihaoxiang/p/17460719.html

相关文章

  • 克隆和序列化应用(附面试题)
    克隆在开始学习克隆之前,我们先来看看下面的代码,普通的对象复制,存在什么问题?classCloneTest{publicstaticvoidmain(String[]args)throwsCloneNotSupportedException{//等号赋值(基本类型)intnumber=6;intnumber2=number;//......
  • js判断是否处于移动端
    应用场景在uniapp中通过webview嵌入了PC端界面,某些界面方法需要根据处于PC还是uniapp进行不同的处理,此处简单通过界面宽度去判断。代码示例const{body}=documentconstWIDTH=992isMobile(){constrect=body.getBoundingClientRect()returnrect.width-......
  • R语言ARMA-GARCH模型金融产品价格实证分析黄金价格时间序列
    全文链接:http://tecdat.cn/?p=32677原文出处:拓端数据部落公众号研究黄金价格的动态演变过程至关重要。文中以黄金交易市场下午定盘价格为基础,帮助客户利用时间序列的相关理论,建立了黄金价格的ARMA-GARCH模型,并对数据进行了实证分析,其结果非常接近。利用该模型可动态刻画黄金......
  • 判断对象是否存活的算法
    需要回收的位置如下 其实垃圾回收是jvm自带的功能,所以有了如下的优缺点优点:1.项目开发的时候不需要开发人员考虑内存管理2.可以有效的防止内存泄漏,更加高效的利用可使用的内存3.因为垃圾回收不再有了作用于的概念缺点:因为不了解所以使用过程中会出现内存溢出和内存泄漏的......
  • 判断非String对象是否为null,小伙竟然用StringUtils.isEmpty(obj+"")
    我在代码走查时,发现下面的代码。其中Line133行的StringUtils.isEmpty(levyId+"")引起了我的注意。levyId是Long,你这样判断Long是否为null,靠谱吗?  答案是:不靠谱!当levyId是null时,levyId+""的值是什么?是字符串null哟~~显然,StringUtils.isEmpty("null")是false。所以,还是老......
  • c++实现射线法 点和闭合区域位置关系判断
    c++实现射线法  点和闭合区域位置关系判断#include<iostream>#include<vector>structPoint{doublex;doubley;};structPolygon{std::vector<Point>vertices;};//定义三个点的方向//0-->点p,q,r是共线的//1-->顺时针//2-->......
  • java 图形学 点和闭合区域位置关系判断
    判断一个点是否在一个特定的区域内或外,通常需要你具备区域的数学表达(例如,方程、不等式等)以及要判断的点的坐标。例如,如果你有一个圆的方程(x-h)²+(y-k)²=r²,其中(h,k)是圆心,r是半径,你要判断点(a,b)是否在此圆内或外。你可以将点(a,b)的坐标带入这个方程:如果(a......
  • linux 中判断一列数据是否有连续的重复
     001、[root@PC1test3]#lsa.txtb.txt[root@PC1test3]#cata.txt##测试数据3a5bb47[root@PC1test3]#catb.txt##测试数据3a5b47[root@PC1test3]#awk'{if($0==a){printNR,"consistent";exit}......
  • 两个列表并排在一起,右边是一个条件判断,左边是根据条件判断而执行或返回的两段内容
    a_str=['错的','对的'][2>3]b_str=['错的','对的'][2<3]print(a_str,b_str)#错的对的print(type(a_str))#<class'str'>#两个列表并排在一起,右边是一个条件判断,左边是根据条件判断而执行或返回的两段内容c_str=['a',�......
  • EXCEL判断一列数字是否连续
    =IF(G2=G1+1,"连续","不连续")......