首页 > 编程语言 >每日一道算法题 判断子序列

每日一道算法题 判断子序列

时间:2024-07-04 20:58:50浏览次数:17  
标签:ps return string 每日 param 字符串 算法 bool 序列

题目

判断子序列_牛客题霸_牛客网 (nowcoder.com)

Python

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param S string字符串 
# @param T string字符串 
# @return bool布尔型
#
class Solution:
    def isSubsequence(self , S: str, T: str) -> bool:
        # write code here
        if len(S)>len(T):
            return False
        ps=pt=0
        while ps<len(S) and pt<len(T):
            if S[ps]==T[pt]:
                ps+=1
            pt+=1
        return ps==len(S)
      

        

C++

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param S string字符串 
     * @param T string字符串 
     * @return bool布尔型
     */
    bool isSubsequence(string S, string T) 
    {
        // write code here
        if(S.size()>T.size()) return false;

        int ps=0,pt=0;

        while(ps<S.size() && pt<T.size())
        {
            if(S[ps]==T[pt]) ps++;
            pt++;
        }
        return ps==S.size();
    }
};

C语言

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param S string字符串 
 * @param T string字符串 
 * @return bool布尔型
 */
 #include <string.h>
bool isSubsequence(char* S, char* T )
{
    // write code here
    if(strlen(S)>strlen(T)) return 0;
    int ps=0,pt=0;

    while(ps<strlen(S) && pt<strlen(T))
    {
        if(S[ps]==T[pt]) ps++;
        pt++;
    }
    return ps==strlen(S);
}

标签:ps,return,string,每日,param,字符串,算法,bool,序列
From: https://blog.csdn.net/weixin_65816128/article/details/140141276

相关文章

  • 每日一道算法题 称砝码
    题目称砝码_牛客题霸_牛客网(nowcoder.com)Pythonn=int(input())weight=list(map(int,input().split()))count=list(map(int,input().split()))w_li=[]for_inrange(n):foriinrange(count[_]):w_li.append(weight[_])ans={0}forwinw_li:......
  • Python基于PyQt5和卷积神经网络分类模型(ResNet50分类算法)实现生活垃圾分类系统GUI界
    说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取。1.项目背景在当今社会,随着人们对环境保护意识的增强以及科技的快速发展,智能化的垃圾分类系统成为了一个热门的研究方向。结合深度学习技术,尤其是先进的图像识......
  • 常见加密解密算法及其在 PHP 中的实现
    加密和解密算法在信息安全中起着至关重要的作用。以下是一些常见的加密和解密算法,包括对称加密、非对称加密和哈希算法。对称加密算法对称加密算法使用相同的密钥进行加密和解密。常见的对称加密算法包括:AES(AdvancedEncryptionStandard):AES是一种广泛使用的对称加密算法,支......
  • 「代码随想录算法训练营」第二天 | 数组 part2
    977.有序数组的平方题目建议:本题关键在于理解双指针思想题目链接:https://leetcode.cn/problems/squares-of-a-sorted-array/题目难度:简单文章讲解:https://programmercarl.com/0977.有序数组的平方.html视频讲解:https://www.bilibili.com/video/BV1QB4y1D7ep题目状态:通过......
  • 通过SVM算法使失衡数据达到最佳性能
      目录1.读取数据并预处理2.下采样3.数据切分4.使用SVM算法5.测试6.绘制AUC-ROC曲线 本代码所使用的数据集中,标签为1的数据仅有五千多条,而标签为0的数据有二十八万条。为了使数据集中我们最关注的标签1的预测成功的概率,即1的召回率尽量更高,本代码将采用SVM算法提......
  • 聚类算法与实现
    “物以类聚,人以群分”,所谓的聚类,就是将样本划分为由类似的对象组成的多个类的过程。聚类后,我们可以更加准确的在每个类中单独使用统计模型进行估计、分析或预测;也可以探究不同类之间的相关性和主要差异。聚类和上一讲分类的区别:分类是已知类别的,聚类未知。对于K-means算法与层......
  • 受不了了,浅谈维护括号序列最长全不匹配段的最长长度的两种方法
    首先我们亲爱的zyr同学在2道几乎一样的括号序列题上面用了2种不同的方式来维护pushup,而这和每道题题解的趋势几乎一致。但是我直接交的他的代码。所以写一下zyr队爷的思路。以下直接设(为\(1\),)为\(-1\)。一、结论法答案为右最大前缀和-左最小后缀和。(跨越......
  • 代码随想录算法训练营第七天| 454. 两数相加Ⅱ、383.赎金信、15.三数之和、18.四数之
    454题拆成两块各自匹配化成两个O(n^2)运算1classSolution{2public:3intfourSumCount(vector<int>&nums1,vector<int>&nums2,vector<int>&nums3,vector<int>&nums4){4//四个数组拆分成两块两块5unordered_ma......
  • 代码随想录算法训练营第八天|344.反转字符串、541.反转字符串Ⅱ、54.替换数字(卡码网
    344简单写个循环1classSolution{2public:3voidreverseString(vector<char>&s){4chartmp;5intlen=s.size();6for(inti=0;i<len/2;i++){7tmp=s[i];8s[i]=s[len-......
  • 代码随想录算法训练营第九天|151.反转字符串中的单词、55.右旋字符串、28.找出字符串
    151以前写过很呆的写法但能用嘿1classSolution{2public:3stringreverseWords(strings){4//初始化变量5vector<vector<int>>data;//存储单词的起始地址和长度6stringans;//最终结果字符串7intnum=0;......