当前位置: 首页 > 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.zskr.cn/news/6299.html

相关文章:

  • VRRP实验
  • 25/9/16
  • 25/9/14(补)
  • VSCode + Python 开发踩坑:虚拟环境不在项目根目录导致包无法识别该怎么办
  • 图像与视频编码
  • Python爬虫实战:研究Pandas,构建地理信息资料采集和分析便捷的系统
  • fg/bg/jobs/kill命令--linux
  • 【征文启动】IvorySQL PostgreSQL 迁移实战经验征集:分享你的技术沉淀,赢取专属好礼!
  • ios电脑系统和windows系统
  • lc1029-两地调度
  • Java的运算符
  • HTML打包EXE工具中的WebView2内核更新指南
  • EXE一机一码打包加密大师 - 打包加壳原理
  • 动态修改线程池参数
  • 什么是网络+HTTP详解
  • 黑白世界
  • 【大三下】资料,仅内部学习使用
  • 挖掘PDF生成器中的SSRF漏洞:从发现到利用
  • 做题记录 2
  • c# ConcurrentDictionary
  • 核桃OJ【S组 第二轮】信息学竞赛10w选手模拟考
  • 第一次个人编程作业
  • 数学分析习题课 note
  • 洞察中国HR SaaS薪酬市场:2025企业数字化转型中的选型策略
  • 9.16 一些记录
  • 溢出存储变量
  • retrieving repo key for OS unencrypted from
  • 3. Explain详解与索引最佳实践
  • 软工个人项目作业
  • 表格如何设置多人在线编辑?坚果云实时编辑,告别版本冲突!