Python版day55

392. 判断子序列

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

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

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/is-subsequence
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

class Solution:def isSubsequence(self, s: str, t: str) -> bool:len1 = len(s)len2 = len(t)if len2<len1:return False# dp[i][j] means string s ends with i-1 # AND string t ends with j-1 has same subsequence length dp[i][j]dp = [[0]*(len2+1) for _ in range(len1+1)]for i in range(1,len1+1):charS = s[i-1]for j in range(1,len2+1):charT = t[j-1]if charS == charT:dp[i][j] = dp[i-1][j-1] +1else: # 相当于t要删除元素 继续匹配;删除t[j-1]  等同于s[i-1]与t[j-2]比较结果dp[i][j] = dp[i][j-1]return dp[len1][len2] == len1

 115. 不同的子序列

给你两个字符串 s 和 t ,统计并返回在 s 的 子序列 中 t 出现的个数。

题目数据保证答案符合 32 位带符号整数范围。

 

class Solution:def numDistinct(self, s: str, t: str) -> int:len1 = len(s)len2 = len(t)# 以i-1结尾的s子序列出现在以j-1结尾的t的个数为dp[i][j]dp = [[0 for _ in range(len2+1)] for _ in range(len1+1)]# s[i - 1] 与 t[j - 1]相等,dp[i][j]由两部分组成# 1. 需要s[i - 1]匹配,那么个数为dp[i-1][j-1]# 2. 不需要s[i - 1]匹配,那么个数为dp[i-1][j] {bagg,bag} s[2]==t[2]但不一定要使用s[2]也可以用s[3]# s[i - 1] 与 t[j - 1] 不相等, dp[i][j]由一部分组成# 1.不需要s[i - 1]匹配,那么个数为dp[i-1][j]# dp[i][0] 意味着s[i-1]中空字符串的个数 为1for i in range(len1+1):dp[i][0] = 1# dp[0][j] 意味着空字符串中[j-1]的个数 为0for j in range(len2+1):dp[0][j] = 0# 注意dp[0][0] =1# 空字符串可以删除0个元素变成空字符串dp[0][0] = 1# 遍历顺序 从上到下 从左到右for i in range(1,len1+1):for j in range(1,len2+1):charS = s[i-1]charT = t[j-1]if charS == charT:dp[i][j] = dp[i-1][j-1] + dp[i-1][j]else:dp[i][j] = dp[i-1][j]return dp[len1][len2]

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

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

相关文章

pytorch学习-线性神经网络——softmax回归+损失函数+图片分类数据集

1.softmax回归 Softmax回归&#xff08;Softmax Regression&#xff09;是一种常见的多分类模型&#xff0c;可以用于将输入变量映射到多个类别的概率分布中。softmax回归是机器学习中非常重要并且经典的模型&#xff0c;虽然叫回归&#xff0c;实际上是一个分类问题 1.1分类与…

【C++】写一个函数实现系统时间与输入时间进行比较

目录 1 代码 2 运行结果 时间比较函数: 输入为字符串2023-7-28,将字符串分解为年、月、日信息。 获取系统时间2023-7-24,然后将输入时间和系统时间进行比较,输出比较结果。 1 代码 #include <ctime> #include<iostream> #include<vector> using names…

【Java】JUC并发编程-进程线程

目录 一、什么是JUC二、进程和线程1、进程2、线程 三、线程的六种状态四、wait与sleep的区别五、并发与并行1、串行模式2、并行模式3、并发模式4、管程 六、用户线程与守护线程1、用户线程&#xff08;自定义线程&#xff09;2、守护线程&#xff08;比如垃圾回收&#xff09; …

Python爬虫学习笔记(十三)————CrawlSpider

目录 1.CrawlSpider介绍 2.使用方法 &#xff08;1&#xff09;提取链接 &#xff08;2&#xff09;模拟使用 &#xff08;3&#xff09;提取连接 &#xff08;4&#xff09;注意事项 3.运行原理 4.Mysql 5.pymysql的使用步骤 6.数据入库 &#xff08;1&#xff09;s…

【100个 Unity实用技能】 | Unity中Text文本框 和 InputField文本输入框 内容换行问题【文末送书】

&#x1f3ac; 博客主页&#xff1a;https://xiaoy.blog.csdn.net &#x1f3a5; 本文由 呆呆敲代码的小Y 原创&#xff0c;首发于 CSDN&#x1f649; &#x1f384; 学习专栏推荐&#xff1a;Unity系统学习专栏 &#x1f332; 游戏制作专栏推荐&#xff1a;游戏制作 &…

游戏开发中的Jenkins

1.安装搭建环境可自行百度或者点击下方链接参考 .【游戏开发进阶】教你Unity通过Jenkins实现自动化打包&#xff0c;打包这种事情就交给策划了&#xff08;保姆级教程 | 命令行打包 | 自动构建&#xff09; 2.Jenkins复制和导出导入job 一、同一个Jenkins中复制job 如果是同…

Ceph的应用

文章目录 一、创建 CephFS 文件系统 MDS 接口1&#xff09;在管理节点创建 mds 服务2&#xff09;查看各个节点的 mds 服务3&#xff09;创建存储池&#xff0c;启用 ceph 文件系统4&#xff09;查看mds状态&#xff0c;一个up&#xff0c;其余两个待命&#xff0c;目前的工作的…

应该选云服务器还是物理服务器

应该选云服务器还是物理服务器 一、为什么需要云服务器或独立服务器取代共享主机 在最早之前&#xff0c;大多数的网站都是共享主机开始的&#xff0c;这里也包含了云虚拟机。这一类的站点还有其他站点都会共同托管在同一台服务器上。但是这种共享机只适用于小的网站&#xff…

Docker-compose容器编排

Docker-Compose介绍 Compose 是 Docker 公司推出的一个工具软件&#xff0c;可以管理多个 Docker 容器组成一个应用。你需要定义一个 YAML 格式的配置文件docker-compose.yml&#xff0c;写好多个容器之间的调用关系。然后&#xff0c;只要一个命令&#xff0c;就能同时启动/关…

项目里程碑有什么作用?设置里程碑时应注意什么?

正如 "里程碑 "一词的原意是表示所走距离的标记&#xff0c;项目中的里程碑也代表着迄今为止已完成的任务或活动。但实际上&#xff0c;里程碑的作用远不止于此。 项目里程碑为何重要&#xff1f; 项目的成功取决于细节。项目里程碑之所以重要&#xff0c;是因为它…

微信小程序的个人博客--【小程序花园】

微信目录集链接在此&#xff1a; 详细解析黑马微信小程序视频–【思维导图知识范围】难度★✰✰✰✰ 不会导入/打开小程序的看这里&#xff1a;参考 让别人的小程序长成自己的样子-更换window上下颜色–【浅入深出系列001】 文章目录 本系列校训啥是个人博客项目里的理论知识…

如何在3ds max中创建可用于真人场景的巨型机器人:第 1部分

推荐&#xff1a; NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 1. 创建主体 步骤 1 打开 3ds Max。 打开 3ds Max 步骤 2 在左侧视口中&#xff0c;按键盘上的 Alt-B 键。它 打开视口配置窗口。 打开“锁定缩放/平移”和“匹配位图”选项。单击“文件”并转到参考 …

JSON格式Python,Java,PHP等封装获取淘宝商品详情SKU数据API方法

淘宝是一个网上购物平台&#xff0c;售卖各类商品&#xff0c;包括服装、鞋类、家居用品、美妆产品、电子产品等。要获取淘宝天猫商品详情SKU详细数据&#xff0c;您可以通过开放平台的接口或者直接访问淘宝天猫商城的网页来获取商品详情Sku信息。以下是两种常用方法的介绍&…

8年测试整理,自动化测试框架从0到1实施,一篇打通自动化...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 框架本身一般不完…

Rust vs Go:常用语法对比(十二)

题图来自 Rust vs Go in 2023[1] 221. Remove all non-digits characters Create string t from string s, keeping only digit characters 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. 删除所有非数字字符 package mainimport ( "fmt" "regexp")func main() { s : hei…

STM32读写内部Flash

内存映射 stm32的flash起始地址为0x0800 0000&#xff0c;结束地址为0x0800 0000加上芯片实际的Flash大小&#xff0c;不同芯片Flash大小不同&#xff0c;RAM同理。 对于STM32F103RCT6&#xff0c;Flash256KB&#xff0c;所以结束地址为0x0803 ffff。 Flash中的内容一般用来存…

Macbook M1编译安装Java OpenCV

OpenCV-4.8.0编辑安装 查询编译依赖 brew info opencv确保所有需要模块都打上了✔&#xff0c;未打✔的需要使用brew进行安装 下载OpenCV源码 在此处下载OpenCV源代码&#xff0c;选择Source&#xff0c;点击此处下载opencv_contrib-4.8.0 或者使用如下命令&#xff0c;通…

集装箱装卸作业相关的知识-Part1

1.角件 Corner Fitting of Container or called Corner Casting. there are eigth of it of one container. 国家标准|GB/T 1835-2006https://openstd.samr.gov.cn/bzgk/gb/newGbInfo?hcnoD35857F2200FA115CAA217A114F5EF12 中国的国标&#xff1a;GB/T 1835-2006《系列1集…

代码随想录算法训练营day51 309.最佳买卖股票时机含冷冻期 714.买卖股票的最佳时机含手续费

题目链接309.最佳买卖股票时机含冷冻期 class Solution {public int maxProfit(int[] prices) {if (prices null || prices.length < 2) {return 0;}int[][] dp new int[prices.length][2];dp[0][0] -prices[0];dp[0][1] 0;dp[1][0] Math.max(dp[0][0], dp[0][1] - pr…

2023最新ChatGPT商业运营版网站源码+支持ChatGPT4.0+GPT联网+支持ai绘画(Midjourney)+支持Mind思维导图生成

本系统使用Nestjs和Vue3框架技术&#xff0c;持续集成AI能力到本系统&#xff01; 支持GPT3模型、GPT4模型Midjourney专业绘画&#xff08;全自定义调参&#xff09;、Midjourney以图生图、Dall-E2绘画Mind思维导图生成应用工作台&#xff08;Prompt&#xff09;AI绘画广场自定…