代码随想录算法训练营第五十八天 | 392.判断子序列

news2024/12/24 22:13:26

392.判断子序列 

题目链接:代码随想录

视频讲解:动态规划,用相似思路解决复杂问题 | LeetCode:392.判断子序列_哔哩哔哩_bilibili

解题思路

本题和求最长公共子序列是一样的,值就是s字符串的长度,如果一致就返回true,如果不一致就是false

这题也可以看作编辑距离入门级别的题目,仅t字符串会删元素

dp容器依旧选择二维数组,行是s字符串,列是t的字符串

1.dp[i][j]  以i-1为结尾的字符串s,以j-1为结尾的字符串t的相同子序列的长度(方便初始化)

2. if(s[i-1] == t[j-1] ) dp[i][j] = dp[i-1][j-1] + 1    //应该是s和t的前一面一段的相同子序列的长度加一

    else                   dp[i][j] = dp[i][j-1]              //如果不相同,那么就删除t字符串这个当前字符,去判断j-1之前的字符串

3.初始化

dp[i][0] = 0;

dp[0][j] = 0 ;

4.遍历顺序

我们是从左上方和左方推导而来

因此从左到右,从上到下

for(int i =1 ; i<=s.size() ; i++)

        for(int j =1 ; j<=t,size() ; j++)

class Solution {
public:
    bool isSubsequence(string s, string t) {
        vector<vector<int>> dp(s.size()+1 , vector<int>(t.size()+1,0));  //以i-1,j-1为结尾的字符串的公共子序列长度
        for(int i = 1 ; i<=s.size(); i++)
        {
            for(int j =1 ;j<=t.size();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] ;         //如果不相等就对t进行删减
            }
        }
        if(dp[s.size()][t.size()]==s.size()) return true;
        return false;
    }
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1818669.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

不吃饭也要搞懂的 git 命令

昨天睿哥布置了一个任务给我&#xff0c;让我学习一下 Git 的一些命令。 我问睿哥&#xff0c;到底我们在实际开发中用哪些命令会比较多&#xff0c;睿哥是这样回答我的&#xff1a; 而且他推荐我用 IDEA 自带的那个 Git 面板来执行 git 命令&#xff0c;他说直接敲命令太麻烦…

一线大厂都在高薪抢AI产品经理?

哈喽&#xff0c;大家下午好呀&#xff5e; 当AI的风吹到产品届&#xff0c;唯叹相见恨晚&#xff01; 作为一名产品经理&#xff0c;日常写调研、需求分析、产品设计、项目管理、数据分析……每一项工作都需要投入大量的时间和精力。 但用上AI后&#xff0c;你会发现写个需…

【面经总结】Java基础 - IO

序列化 什么是序列化和反序列化&#xff1f; 序列化&#xff1a;将对象转换为二进制数据 反序列化&#xff1a;将二进制数据转换为对象 目的&#xff1a;方便网络传输、持久化保存 Java 是怎么实现序列化的&#xff1f; Java 通过对象输入输出流来实现序列化和反序列化&a…

关于docker无法正常下载镜像的问题

文章目录 之前还可以正常下载镜像&#xff0c;但是一段时间之后就无法下载了&#xff0c;猜测可能是政治原因&#xff0c;无法连接到国外服务器&#xff0c;所以我设置了阿里云的镜像加速器。 配置方法如下&#xff1a; 前往阿里云&#xff08;https://help.aliyun.com/zh/acr/…

Windows同一文件夹下支持大小写同名文件

举例&#xff1a;同一文件目录下需要存在A.java, a.java, Windows是不支持的&#xff0c;这时候需要建一个Linux子系统的文件夹 创建教程 1、在启用或关闭Windows功能下面找到 适用于Linux系统的Windows子系统 2、cmd 执行命令 fsutil file SetCaseSensitiveInfo 文件夹路径 …

网格简化技术在AI绘画中的革新应用

随着人工智能技术的飞速发展&#xff0c;AI绘画作为其创新应用领域之一&#xff0c;正逐渐进入公众的视野。AI绘画不仅为艺术家和设计师提供了强大的辅助工具&#xff0c;也为非专业人士开启了艺术创作的大门。然而&#xff0c;高质量的AI绘画往往需要复杂的计算过程&#xff0…

C# WPF入门学习主线篇(二十七)—— 数据源

C# WPF入门学习主线篇&#xff08;二十七&#xff09;—— 数据源 在WPF开发中&#xff0c;数据绑定是一个强大的功能&#xff0c;它允许UI元素和数据源之间进行双向通信。理解和使用数据源对于创建高效和动态的应用程序至关重要。在本文中&#xff0c;我们将详细介绍WPF中的数…

servlet梦想酒店管理系统

梦想酒店管理系统 酒店管理系统分为管理端&#xff0c;和用户端&#xff0c; 用户端可以查看酒店客房&#xff0c;预定酒店系统&#xff0c;查询预定信息。 管理端&#xff1a;用户管理&#xff0c;类型&#xff0c;房间管理&#xff0c;业务管理&#xff0c;统计分析。 技术&…

使用Python保护或加密Excel文件的7种方法

目录 安装Python Excel库 Python 使用文档打开密码保护 Excel 文件 Python 使用文档修改密码保护 Excel 文件 Python 将 Excel 文件标记为最终版本 Python 保护 Excel 工作表 Python 在保护 Excel 工作表的同时允许编辑某些单元格 Python 锁定 Excel 工作表中的特定单元…

Elasticsearch:智能 RAG,获取周围分块

作者&#xff1a;来自 Elastic Sunile Manjee 在检索增强生成 (RAG) 领域&#xff0c;一个持续存在的挑战是找到输入大型语言模型 (LLM) 的最佳数据量。数据太少会导致响应不足或不准确&#xff0c;而数据太多会导致答案模糊。这种微妙的平衡启发我开发了一个专注于智能分块和利…

ssm的疫情物资管理系统

ssm的疫情物资管理系统 功能&#xff1a;前端页面展示 用户端&#xff1a;主页展示&#xff0c;新闻展示&#xff0c;疫情物资&#xff0c;在线留言&#xff0c;全国疫情&#xff0c;健康打卡&#xff0c;注册&#xff0c;登录 后端管理&#xff1a;登录&#xff0c;账号管理…

2024怎么选择开放式耳机?五款高评分机型推荐!

还记得我最早接触到不入耳的耳机是在前几年&#xff0c;上课需要一副耳机&#xff0c;我又受不住长时间的戴耳机&#xff0c;那时候如利刃一款蛮贵的开放式耳机&#xff0c;时过境迁现在已随着人们的需求发展至到至今的真无线的开放式蓝牙耳机&#xff0c;我也在这几年之内入手…

Postman下发流表至Opendaylight

目录 任务目的 任务内容 实验原理 实验环境 实验过程 1、打开ODL控制器 2、网页端打开ODL控制页面 3、创建拓扑 4、Postman中查看交换机的信息 5、L2层流表下发 6、L3层流表下发 7、L4层流表下发 任务目的 1、掌握OpenFlow流表相关知识&#xff0c;理解SDN网络中L…

【AI绘画】Stable Diffusion 3开源

Open Release of Stable Diffusion 3 Medium 主要内容 Stable Diffusion 3是Stability AI目前为止最先进的文本转图像开放源代码算法。 这款模型的小巧设计使其完美适合用于消费级PC和笔记本电脑&#xff0c;以及企业级图形处理单元上运行。它已经满足了标准化的文字转图像模…

红黑树(C++)

文章目录 写在前面1. 红黑树的概念及性质1. 1 红黑树的概念1. 2 红黑树的性质 2. 红黑树节点的定义3. 红黑树的插入3.1 按照二叉搜索的树规则插入新节点3.2 检测新节点插入后&#xff0c;红黑树的性质是否造到破坏 4.红黑树的删除5.红黑树的验证6.源码 写在前面 在上篇文章中&…

移动UI:登录页如此哇塞,不发出就有点锦衣夜行啦。

移动UI登录页是移动应用中非常重要的一环。一个出色的登录页可以给用户留下深刻的印象&#xff0c;提供良好的用户体验&#xff0c;并确保用户的账号安全 在设计登录页时&#xff0c;可以考虑以下几个方面&#xff1a; 简洁明了的界面&#xff1a;登录页应该简洁明了&#xf…

关于一元方程求根中牛顿迭代法的分析

文末含有程序源代码以及可执行exe文件&#xff0c;文中部分内容参考网上博客以及GPT协助&#xff0c;希望能对你有所帮助~ 一、理论知识简述 牛顿迭代法&#xff08;Newton’s Method&#xff09;&#xff0c;也称为牛顿-拉弗森方法&#xff08;Newton-Raphson Method&#xf…

罗森伯格1800M 2000M 2400M 900M无源互调分析仪

在无线通信领域&#xff0c;频段是宝贵的资源&#xff0c;不同的通信系统通常会采用不同的频段以满足其传输需求。随着技术的发展&#xff0c;越来越多的通信系统被部署在各种频段上。为了准确、高效地测试和调试这些 信系统&#xff0c;各种测试设备也应运而生。源互调分析仪便…

rizhuti1.9-最新版-推荐文章缩略图

下载地址&#xff1a;rizhuti1.9-最新版-推荐文章缩略图 商城功能后台可以一键开启关闭&#xff0c;关闭后就是一个布局灵活&#xff0c;界面优美&#xff0c;速度超快的wordpress博客主题

2024新版AI创作系统pro搭建,支持文生漫画视频ai对话问答/ai音乐创作/ai测评/ai换脸/ai写真

一、系统介绍 一款结合了多种功能应用&#xff0c;是当前市场最热门的AI工具综合体 AI动漫生成 AI音乐创作 AI写真 AI换脸 AI绘画 AI趣测 六大AI功能 AI创作小程序是一种利用人工智能技术为用户提供服务&#xff0c;并通过某种方式实现的小程序。这种小程序可以应用于多…