已解决
两个字符串的删除操作
来自网友在路上 174874提问 提问时间:2023-11-02 00:07:50阅读次数: 74
最佳答案 问答题库748位专家为你答疑解惑
题目描述
给定两个单词 word1 和 word2 ,返回使得 word1 和 word2 相同所需的最小步数。每步可以删除任意一个字符串中的一个字符。
示例
思路
其实这道题的思路和最长公共子序列的思路一致,本题让我们求word1 和 word2 相同所需的最小步数,也就是说求word1和word2变成它两的最长公共子序列的步数,那么我们可以求出它两的最长公共子序列,然后,分别用它们各自的长度减去子序列长度就是所求。
代码如下
public int minDistance(String word1, String word2) {int m = word1.length(), n = word2.length();int[][] dp = new int[m + 1][n + 1];for(int i = 1;i < dp.length;i++){for(int j = 1;j < dp[0].length;j++){if(word1.charAt(i - 1) == word2.charAt(j - 1)){dp[i][j] = 1 + dp[i - 1][j - 1];}else{dp[i][j] = Math.max(dp[i][j - 1], dp[i - 1][j]);}}}return m + n - 2 * dp[m][n];}
查看全文
99%的人还看了
相似问题
- 【Django-DRF用法】多年积累md笔记,第3篇:Django-DRF的序列化和反序列化详解
- 【Java 进阶篇】JavaScript JSON 语法入门:轻松理解数据的序列化和反序列化
- 【python学习】基础篇-常用模块-pickle模块:序列化和反序列化
- ZC序列理论学习及仿真
- 时间序列预测实战(十七)PyTorch实现LSTM-GRU模型长期预测并可视化结果(附代码+数据集+详细讲解)
- 代码随想录算法训练营第二十九天| 491 递增子序列 46 全排列
- 最长递增子序列
- 深入解析序列模型:全面阐释 RNN、LSTM 与 Seq2Seq 的秘密
- c#Nettonsoft.net库常用的方法json序列化反序列化
- 基于C#实现最长公共子序列
猜你感兴趣
版权申明
本文"两个字符串的删除操作":http://eshow365.cn/6-29724-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!
- 上一篇: 生产管理系统流程是什么?
- 下一篇: 泡泡玛特首度跨界超跑品牌兰博基尼汽车,以潮流基因探索时空边界