leetcode 97. 交错字符串

news/2024/10/22 17:23:01/

给定三个字符串 s1、s2、s3,请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。
两个字符串 s 和 t 交错 的定义与过程如下,其中每个字符串都会被分割成若干 非空 子字符串:
s = s1 + s2 + … + sn
t = t1 + t2 + … + tm
|n - m| <= 1
交错 是 s1 + t1 + s2 + t2 + s3 + t3 + … 或者 t1 + s1 + t2 + s2 + t3 + s3 + …
注意:a + b 意味着字符串 a 和 b 连接。

示例 1:
输入:s1 = “aabcc”, s2 = “dbbca”, s3 = “aadbbcbcac”
输出:true

示例 2:
输入:s1 = “aabcc”, s2 = “dbbca”, s3 = “aadbbbaccc”
输出:false

示例 3:
输入:s1 = “”, s2 = “”, s3 = “”
输出:true

提示:
0 <= s1.length, s2.length <= 100
0 <= s3.length <= 200
s1、s2、和 s3 都由小写英文字母组成
题目链接

class Solution:def isInterleave(self, s1: str, s2: str, s3: str) -> bool:len1, len2 = len(s1), len(s2)if len(s3) != len1 + len2:return False## dp[i][j] 表示s1 前 i 个字符和 s2 前 j 个字符能组成交错字符串dp = [[0]*(len2+1) for i in range(len1+1)] dp[0][0] = 1for i in range(1, len1+1):if s1[i-1] == s3[i-1]:dp[i][0] = 1else:breakfor i in range(1, len2+1):if s2[i-1] == s3[i-1]:dp[0][i] = 1else:breakfor i in range(1,len1+1):for j in range(1, len2+1):if dp[i-1][j] == 1 and s1[i-1] == s3[i+j-1]:dp[i][j] = 1if dp[i][j-1] == 1 and s2[j-1] == s3[i+j-1]:dp[i][j] = 1 if dp[len1][len2] == 1:return Trueelse:return False

http://www.ppmy.cn/news/1099079.html

相关文章

RTPV70-30、RTPV72-30电磁比例插装阀放大器

RTSP08-20、RTSP10-20、RTSP12-20、RTSP08-22、RTHSP09-30、RTPV70-30、RTPV72-30电磁比例插装阀额定电磁线圈适合连续工作&#xff0c;应急手控选件&#xff0c;外置式比例放大器&#xff0c;效湿式衔铁结构&#xff0c;可选IP69K防水E型线圈&#xff0c;工业通用阀孔。

【C/C++】BMP格式32位转24位

问题 如题 解决方法 bmp文件格式参考:【C/C++】BITMAP格式分析_vc++ bitmap头文件_sunriver2000的博客-CSDN博客BITMAP文件大体上分成四个部分,如下表所示。文件部分长度(字节)位图文件头 Bitmap File Header14位图信息数据头 Bitmap Info Header40调色板 Palette4*n (n≥…

L1-058 6翻了(Python实现) 测试点全过

前言&#xff1a; {\color{Blue}前言&#xff1a;} 前言&#xff1a; 本系列题使用的是&#xff0c;“PTA中的团体程序设计天梯赛——练习集”的题库&#xff0c;难度有L1、L2、L3三个等级&#xff0c;分别对应团体程序设计天梯赛的三个难度。更新取决于题目的难度&#xff0c;…

有哪些跨平台的办公软件,可以集成到自己的 APP中?

随着移动办公的普及&#xff0c;越来越多的跨平台办公软件被开发出来以满足不断增长的移动办公需求。这些软件不仅可以在各种操作系统中运行&#xff0c;还可以集成到自己的APP中&#xff0c;进一步提升用户的工作效率。本文将介绍一些常用的跨平台办公软件&#xff0c;并探讨如…

[随笔] 具有产品意识的工程师

具有产品意识的工程师 最近一段时间是公司的晋升季&#xff0c;我也对过去一段时间的工作进行了全面的复盘&#xff0c;识别、分析与改善不足之处的同时&#xff0c;也继续完善并发扬光大做的好的方面&#xff0c;这其中对“成为具备产品意识的工程师”有着深刻的体会。 研发…

华为云中对象存储服务软件开发工具包(OBS SDK) C语言介绍

华为云的OBS介绍&#xff1a;摘自华为云官网&#xff1a;https://support.huaweicloud.com/obs/index.html 华为云的对象存储服务(Object Storage Service&#xff0c;OBS)是一个基于对象的海量存储服务&#xff0c;为客户提供海量、安全、高可靠、低成本的数据存储能力。 …

2023年MySQL实战核心技术第一篇

目录 四 . 基础架构&#xff1a;一条SQl查询语句是如何执行的&#xff1f; 4.1 MySQL逻辑架构图&#xff1a; 4.2 MySQL的Server层和存储引擎层 4.2.1 连接器 4.2.1.1 解释 4.2.1.2 MySQL 异常重启 解决方案&#xff1a; 4.2.1.2.1. 定期断开长连接&#xff1a; 4.2.1.2.2. 初始…

【数据结构--二叉树】合并二叉树

/*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/struct TreeNode* mergeTrees(struct TreeNode* root1, struct TreeNode* root2){if(root1NULL&&root2NULL)//两个二叉树都…