《leetCode-php》给出三个字符串s1, s2, s3,判断s3是否可以由s1和s2交织而成

判断字符串是否由另外两个字符串交织而成(动态规划杀我) 问题描述 给出三个字符串s1, s2, s3,判断s3是否可以由s1和s2交织而成。 例如: 给定 s1 =“aabcc”, s2 =“dbbca”, 如果s3 =“aadbbcbcac”, 返回true 如果s3 =“aadbbbaccc”, 返回false 分析 又是动态规划的题,好头疼,思绪混乱,又要去评论区翻代码看才明白要怎么做,枯了啊。主要就是用一个二维数组dp[i][j]记录s1[0…... 阅读详情

给出三个字符串s1, s2, s3,判断s3是否可以由s1和s2交织而成。
例如: 给定 s1 ="aabcc",s2 ="dbbca",如果s3 ="aadbbcbcac", 返回true;如果s3 ="aadbbbaccc", 返回false

思路:动态规划

当有两个来源的时候,构造二维图来判断第i+j个是否可以由s1和s2组成。d[i][j]存的是s3中到i+j的位置是否可以由s1的j个字符、s2的i个字符交织而成。

状态方程为

d[i][j] = (d[i][j-1] & s1[j] == s3[i+j -1]) | (d[i-1][j] & s2[i] == s3[i+j -1])

<?php
function isInterleave($s1, $s2, $s3) {
    $numS1 = strlen($s1);
    $numS2 = strlen($s2);
    $numS3 = strlen($s3);
    if ($numS3 != $numS1 + $numS2) {
        return false;
    }
    //作为状态值$d
    $d = [
        0 => [
            0 => true,
        ]
    ];
    for ($j = 0; $j <= $numS1; $j ++) {
        $d[0][$j + 1] = $d[0][$j] & ($s1[$j] == $s3[$j]);
    }
    for ($i = 0; $i <= $numS2 ; $i ++) {
        $d[$i + 1][0] = $d[$i][0] & ($s2[$i] == $s3[$i]);
    }
    for ($i = 1; $i <= $numS2 ; $i ++) {
        for ($j = 1; $j <= $numS1; $j ++) {
            $d[$i][$j] = ($d[$i][$j - 1] & ($s1[$j - 1] == $s3[$i + $j - 1])) | ($d[$i - 1][$j] & ($s2[$i - 1] == $s3[$i + $j - 1]));
        }
    }
    print_r($d);
    return $d[$numS1][$numS2];
}
$s1 = "aabcc";
$s2 = "dbbca";
//$s3 = "aadbbcbcac";
$s3 = "aadbbbaccc";
$ret = isInterleave($s1, $s2, $s3);
print intval($ret);

 

别再只看图了!代谢组学OPLS-DA分析,R2Y和Q2Y到底怎么看才不踩坑? 本文深入解析代谢组学OPLS-DA分析中的关键指标R2Y和Q2Y,揭示如何避免过拟合陷阱。通过详细解读模型解释能力(R2Y)和预测能力(Q2Y),结合置换检验方法,提供完整的模型评估流程与实战建议,帮助研究者获得可靠的分析结果。 阅读详情

相关推荐

Cocos Creator 3.x 实战:用脚本动态加载Spine动画,告别resources硬编码

本文详细介绍了Cocos Creator 3.x中Spine动画的动态加载与挂点系统实战技巧。通过Asset Bundle替代传统resources硬编码方式,实现资源的高效管理和热更新支持,同时结合TypeScript强类型和单例模式优化加载流程。文章还深入探讨了跨平台适配、挂点编程方案及性能优化策略,帮助开发者提升游戏开发效率与灵活性。

weixin_42526353的博客 267

《leetcode-go》交织的字符串

给出三个字符串s1,s2,s3,判断s3是否可以由s1和s2交织而成。 例如: 给定 s1="xxyzz", s2="pyyzx", 如果s3="xxpyyzyzxz", 返回true 如果s3="xxpyyyxzzz", 返回false 思路:记录i个s1和j个s2是否可以组成i+j个s3,就是判断s1的第i个字符是否等于s3第i+j+1个字符并且i-1个s1和j个s2可以构成i+j-1个s3,或者是s2的第j个字符是否等于s3第i+j+1个字符并且i个s1和j-1个s2可以构成i...

less_cold的博客 269

OpenCV中SGBM中BT代价计算

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

qq_27606639的博客 5977

interleaving-string Java code

Given s1, s2, s3, find whether s3 is formed by the interleaving of s1 and s2. For example, Given: s1 =”aabcc”, s2 =”dbbca”, When s3 =”aadbbcbcac”, return true. When s3 =”aadbbbaccc”,

qq_29606255的博客 339

不到200块!手把手教你用ZYNQ7010和AD9363攒一台自己的开源SDR硬件(附BOM清单)

本文详细介绍了如何用不到200元的预算,基于ZYNQ7010 FPGA和AD9363射频芯片打造一台功能完备的开源SDR硬件平台。从核心组件选型、PCB设计到焊接调试,提供全流程实战指南,特别适合预算有限的硬件爱好者和创客群体探索无线通信世界。

weixin_26854829的博客 479

Trans论文复现:电池储能调峰和调频:超线性增益的联合优化程序代码!

本程序参考一区SCI期刊《Using Battery Storage for Peak Shaving and Frequency Regulation: Joint Optimization for Superlinear Gains》,程序。与之前将电池储能用于单一应用相比,研究结果表明,如果电池联合提供多种服务,它们可以获得比以前想象的更大的经济效益。欢迎感兴趣的小伙伴关注下方公众号获取完整版代码哦~,小编会继续推送更有质量的学习资料、文章程序代码~限于篇幅,仅列出部分算例的结果!

weixin_48747334的博客 567

交叉字符串问题、判断字符串s3是不是由字符串s1和s2交叉组合而成

前言 题目:交叉字符串问题,给出三个字符串s1,s2,s3,判断s3是否可以由s1和s2两个字符串经过交叉组合而成,组合过程不能改变字符在s1,s2字符串中的原本顺序。例: s1=”aabcc” s2=”dbbca” s3=”aadbbcbcac”或者s3=”aadbbbaccc” 给了两种s3的情况,第一种情况下答案是yes,第二种情况下答案是no,因为找不到任何...

Hairy_Monsters的博客 2985

《FPGA接口与协议》专栏的说明与导航

《FPGA接口与协议》专栏的说明与导航(建议阅读)。

孤独的单刀 17万+

leetcode【每日一题】97. 交错字符串 Java

题干 给定三个字符串 s1, s2, s3, 验证 s3 是否是由 s1 和 s2 交错组成的。 示例 1: 输入: s1 = "aabcc", s2 = "dbbca", s3 = "aadbbcbcac" 输出: true 示例 2: 输入: s1 = "aabcc", s2 = "dbbca", s3 = "aadbbbaccc" 输出: false 想法 如果s1+s2的长度不等于s3 那么肯定不行 设置dp[i][j]表示s1,s2的前i,j是否匹配s3的前i+j个 如果dp[i][j-1]都

qq_43491066的博客 252

python中视觉检测怎么将多个面拍照的图片合成一个3d图像,用什么技术或者什么模型?

🏆本文收录于 《全栈Bug调优(实战版)》 专栏,该专栏专注于分享我在真实项目开发中遇到的各类疑难Bug及其深层成因,并系统提供高效、可复现的解决思路和实操方案。无论你是刚入行的新手开发者,还是拥有多年项目经验的资深工程师,本专栏都将为你提供一条系统化、高质量的问题排查与优化路径,助力你加速成长,攻克技术壁垒,迈向技术价值最大化与职业发展的更高峰🚀!

**My Coding Family** 709

YOLOv11低照度增强主干网络PE-YOLO:原理与完整实现教程

编码器部分# 解码器部分self.dec_conv2 = nn.Conv2d(512, 128, 3, padding=1) # 跳跃连接self.dec_conv3 = nn.Conv2d(256, 64, 3, padding=1) # 跳跃连接self.dec_conv4 = nn.Conv2d(128, 32, 3, padding=1) # 跳跃连接# 编码路径# 解码路径(带跳跃连接)

FJN110的博客 727

有效的括号,给定一个只包括 ‘(‘,‘)‘,‘{‘,‘}‘,‘[‘,‘]‘ 的字符串 s ,判断字符串是否有效。

给定一个只包括 '(',')','{','}','[',']'的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 每个右括号都有一个对应的相同类型的左括号。

weixin_43741253的博客 1505

2026年中科曙光嵌入式笔试试卷带答案

2026年中科曙光嵌入式笔试试卷涵盖数字电路、总线协议、时序分析、存储原理及硬件寄存器操作等核心知识点。单选题聚焦SPI/I2C差异、建立/保持时间、ADC作用等基础概念;多选题考察时序约束、非易失存储、BMC功能等综合应用;判断题强化对关键术语的理解;填空题考查基本术语记忆;简答题要求掌握SPI与I2C对比、时序违例后果及BMC管理机制。试题紧扣嵌入式系统开发实际,突出接口协议、时序设计与硬件交互能力,是嵌入式岗位选拔的重要依据。

Open 23

[双指针]BM88 判断是否为回文字符串

因回文字符串正向遍历与逆向遍历结果都是一样的,所以我们可以准备两个对撞指针,一个正向遍历,一个逆向遍历。因回文字符串正向遍历与逆向遍历结果都是一样的,我们可以进行字符串反转,然后和原字符串比较,若相等则说明是反转字符串。给定一个长度为 n 的字符串,请编写一个函数判断该字符串是否回文。如果是回文请返回true,否则返回false。要求:空间复杂度 O(1) ,时间复杂度 O(n)字符串回文指该字符串正序与其逆序逐字符一致。输入:"yamatomaya"输入:"absba"输入:"ranko"

wamp0001的博客 860

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

【力扣刷题】1422. 分割字符串的最大得分

左子字符串 = "0" 且 右子字符串 = "11101",得分 = 1 + 4 = 5。左子字符串 = "01" 且 右子字符串 = "1101",得分 = 1 + 3 = 4。左子字符串 = "011" 且 右子字符串 = "101",得分 = 1 + 2 = 3。左子字符串 = "0111" 且 右子字符串 = "01",得分 = 1 + 1 = 2。左子字符串 = "01110" 且 右子字符串 = "1",得分 = 2 + 1 = 3。(学习)方法二:动态规划。子字符串)所能获得的最大得分。

m0_67763367的博客 1133

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

力扣(LeetCode)算法题解:1528. 重新排列字符串

重新排列字符串(一)题目描述(二)输入、输出示例(三)代码实现方法1(php版):解题思路代码实现性能分析 (一)题目描述 给你一个字符串 s 和一个 长度相同 的整数数组 indices 。 请你重新排列字符串 s ,其中第 i 个字符需要移动到 indices[i] 指示的位置。 返回重新排列后的字符串。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/shuffle-string 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出

计算机科研杂货铺 2106

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

php 字符串包含另一个字符串_leetcode1433_go_检查一个字符串是否可以打破另一个字符串...

leetcode1433_检查一个字符串是否可以打破另一个字符串01—题目给你两个字符串 s1 和 s2 ,它们长度相等,请你检查是否存在一个 s1 的排列可以打破 s2 的一个排列,或者是否存在一个 s2 的排列可以打破 s1 的一个排列。字符串 x 可以打破字符串 y (两者长度都为 n )需满足对于所有 i(在 0 到 n - 1 之间)都有 x[i] >= y[i](字典序...

weixin_39929377的博客 86

力扣(LeetCode)算法题解:657. 机器人能否返回原点

机器人能否返回原点(一)题目描述(二)输入、输出示例(三)代码实现方法1(php版):解题思路代码实现性能分析 (一)题目描述 在二维平面上,有一个机器人从原点 (0, 0) 开始。给出它的移动顺序,判断这个机器人在完成移动后是否在 (0, 0) 处结束。 移动顺序由字符串表示。字符 move[i] 表示其第 i 次移动。机器人的有效动作有 R(右),L(左),U(上)和 D(下)。如果机器人在完成所有动作后返回原点,则返回 true。否则,返回 false。 注意:机器人“面朝”的方向无关紧要。 “R”

计算机科研杂货铺 1174

[PHP in Leetcode 711] Jewels and Stones

开这个坑呢,主要是为了督促自己学习PHP,并且能尽早进入CTF的实战.虽然说PHP不算难(对于已经掌握一门语言的来说),但如果算法和函数都不熟悉的话啥也干不了. 题目 You’re given strings J representing the types of stones that are jewels, and S representing the stones you have....

I Hsien's BLOG 334

LeetCode 1573. 分割字符串的方案数

题目链接:LeetCode 5492. 分割字符串的方案数 题意: 给你一个二进制串s(一个只包含 0 和 1 的字符串),我们可以将 s分割成 3 个 非空字符串 s1, s2, s3 (s1 + s2 + s3 = s)。 请你返回分割s的方案数,满足 s1,s2 和 s3 中字符 '1' 的数目相同。 由于答案可能很大,请将它对 10^9 + 7 取余后返回。 示例 1: 输入:s = "10101" 输出:4 解释:总共有 4 种方法将 s 分割成含有 '1...

error311的博客 402

力扣LeetCode经典算法 表示数值的字符串

请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。

胡乱写点什么 190

力扣编程题02

724. 寻找数组的中心索引 给定一个整数类型的数组nums,请编写一个能够返回数组“中心索引”的方法。 我们是这样定义数组中心索引的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。 如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个。 示例 1: 输入: nums = [1, 7, 3, 6, 5, 6] 输出:...

m0_46258177的博客 416

力扣20. 有效的括号

力扣第20题 给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 示例 1: 输入: “()” 输出: true 示例 2: 输入: “()[]{}” 输出: true 示例 3: 输入: “(]” 输出: false ...

sinat_27523689的博客 356

反转字符串,编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。

两个数字交换的时候,最常见的就是使用一个临时变量temp,除了这种以外还有其他实现方式,下面的4种交换两个数字的实现方式都是可以的。输入:s = [“H”,“a”,“n”,“n”,“a”,“h”]输入:s = [“h”,“e”,“l”,“l”,“o”]输出:[“h”,“a”,“n”,“n”,“a”,“H”]输出:[“o”,“l”,“l”,“e”,“h”]

weixin_43741253的博客 1070

php查找括号闭合,LeetCode PHP 有效的括号

友情提示:此篇文章大约需要阅读 2分钟41秒,不足之处请多指教,感谢你的阅读。题目给定一个只包括'(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例2:输入: "()[]{}"输出: true示例3:输入: "(...

weixin_42521843的博客 242

LeetCode 字符串转换整数 (atoi)

关于字符串转换整数 (atoi)问题的解题思路与实现。

"大梦三千秋的博客 506
上一篇: 《leetCode-php》判断给出的二叉树是否是一个二叉搜索树
下一篇: 《leetCode-php》给出一个可能包含重复元素的整数集合S,返回该整数集合的所有子集
less_cold
博客等级 码龄10年 40粉丝 364原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值