当前位置: 首页 > news >正文

97. 交错字符串

题目链接:97. 交错字符串 - 力扣(LeetCode)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

‘解析:二维dp

dp[i][j]代表s1前i个和s2前j个是否能组成s3的i+j个

状态转移方程就很简单了,

但这一题要求空间限制,可以观察到dp其实只记录一维就可以,因为用到了i-1或者j-1

class Solution {
public:bool isInterleave(string s1, string s2, string s3) {int n = s1.size(), m = s2.size(), k = s3.size();if (n + m != k) return false;else if (n == 0) return s2 == s3;else if (m == 0) return s1 == s3;int dp[105][105];dp[0][0] = true;for (int i = 0; i <= n; i++) {for (int j = 0; j <= m; j++) {if (i == 0 && j == 0) continue;if (i == 0) {dp[i][j] = dp[i][j - 1] && (s2[j - 1] == s3[j - 1]);} else if (j == 0) {dp[i][j] = dp[i - 1][j] && (s1[i - 1] == s3[i - 1]);} else {int id = i + j - 1;dp[i][j] = dp[i][j - 1] && (s2[j - 1] == s3[id]) || dp[i - 1][j] && (s1[i - 1] == s3[id]);}}}return dp[n][m];}
};

  

 

class Solution {
public:bool isInterleave(string s1, string s2, string s3) {int n = s1.size(), m = s2.size(), k = s3.size();if (n + m != k) return false;else if (n == 0) return s2 == s3;else if (m == 0) return s1 == s3;int dp[105];dp[0] = true;for (int i = 0; i <= n; i++) {for (int j = 0; j <= m; j++) {if (i == 0 && j == 0) continue;if (i == 0) {dp[j] = dp[j - 1] && (s2[j - 1] == s3[j - 1]);} else if (j == 0) {dp[j] = dp[j] && (s1[i - 1] == s3[i - 1]);} else {int id = i + j - 1;dp[j] = dp[j - 1] && (s2[j - 1] == s3[id]) || dp[j] && (s1[i - 1] == s3[id]);}}}return dp[m];}
};

 

http://www.wxhsa.cn/company.asp?id=6036

相关文章:

  • MODint(自动取模)
  • BFD实验
  • 2025.9.16——卷1阅读程序1、2
  • 用Context Offloading解决AI Agent上下文污染,提升推理准确性
  • HCIP-BFD
  • MISC相关
  • VRRP实验
  • 在 Windows 10 上安装 FFmpeg 8.0
  • 25/9/15(补)
  • [Paper Reading] DINOv3
  • 25/9/16
  • JavaDay5
  • 揭秘Mobile Me数据挖掘:从WebDAV探测到隐藏文件发现
  • 25/9/14(补)
  • 【IEEE出版、往届会后4个月EI检索】第二届计算机视觉、图像处理与计算摄影国际学术会议(CVIP 2025)
  • 洛谷 P10936 导弹防御塔 题解
  • P13694 [CEOI 2025] Splits 题解
  • VSCode + Python 开发踩坑:虚拟环境不在项目根目录导致包无法识别该怎么办
  • 图像与视频编码
  • Python爬虫实战:研究Pandas,构建地理信息资料采集和分析便捷的系统
  • 初赛复习
  • 用户帐户控制(UAC)
  • fg/bg/jobs/kill命令--linux
  • 【OC】单例模式 - 教程
  • ios电脑系统和windows系统
  • HCIP-VRRP
  • JSON Schema 校验是什么?面试时怎么说?
  • 【征文启动】IvorySQL PostgreSQL 迁移实战经验征集:分享你的技术沉淀,赢取专属好礼!
  • MCP的天气预报的使用
  • 6款超好用的AI换脸软件,一键视频直播换脸(附下载链接)