力扣算法 Java 刷题笔记【动态规划篇 DP 子序列类型问题】hot100(四)编辑距离(困难)

news/2024/6/16 18:39:14 标签: 动态规划, java, leetcode, 算法

1. 编辑距离(困难)

地址: https://leetcode-cn.com/problems/edit-distance/
2021/12/
解法一:自顶向下
做题反思:

java">

解法二:自底向上
2021/12/27
做题反思:

java">class Solution {
    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 <= m; i++) {
            dp[i][0] = i;
        }
        for (int j = 1; j <= n; j++) {
            dp[0][j] = j;
        }

        for (int i = 1; i <= m; i++) {
            for (int j = 1; j <= n; j++) {
                if (word1.charAt(i - 1) == word2.charAt(j - 1)) {
                    dp[i][j] = dp[i - 1][j - 1];
                } else {
                    dp[i][j] = min(
                        dp[i][j - 1] + 1,
                        dp[i - 1][j] + 1,
                        dp[i - 1][j - 1] + 1);
                }
            }
        }
        
        return dp[m][n];
    }

    int min(int a, int b, int c) {
        return Math.min(a, Math.min(b, c));
    }
}

在这里插入图片描述


http://www.niftyadmin.cn/n/1706131.html

相关文章

在.NET框架应用程序中发送电子邮件

出处&#xff1a;CSDN BLOG 作者&#xff1a;tigerwen01 时间&#xff1a;2006-12-5 14:24:00 大家在日常开发中&#xff0c;经常会遇到开发一个向客户自动发送Email的应用模块&#xff0c;例如&#xff0c;当客户操作某一特定的操作或上网注册、购物时&#xff0c;服务器端在…

Git 工具,看这篇保姆式的教程就够了

Git 工 具&#xff0c; 看这篇保姆式的教程就够了 首先&#xff0c;我们需要明确的是&#xff0c;Git 是一种多人协作式的版本控制管理系统&#xff0c;Git 方便了版本的管理&#xff0c;以及多人合作建立项目的相互沟通问题。 文章目录 Git 工 具&#xff0c; 看这篇保姆式的教…

php函数指定默认值的方法

php函数指定默认值的方法 发布&#xff1a;JB02 来源&#xff1a;脚本学堂【大中小】本文介绍下&#xff0c;在php编程中&#xff0c;指定函数的默认值的方法&#xff0c;分享二个例子&#xff0c;供大家学习参考下。本文转自&#xff1a;http://www.jbxue.com/article/14255…

用ASP.NET设计高效邮件列表

出处&#xff1a;动态网站制作指南 作者&#xff1a;动态网站制作指南 时间&#xff1a;2006-3-20 12:40:00 一个吸引人的、功能完备的网站往往具有以下特征&#xff1a;一是内容充实、实用&#xff0c;吸引对该类内容干兴趣的浏览者&#xff1b;二是页面设置合理&#xff0c;…

Git 学习【二】 项目搭建 文件操作 使用码云 gitee IDEA 集成 Git 分支

文章目录5. 项目搭建5.1 创建工作目录与常用指令5.2 本地仓库搭建5.2.1 创建全新的仓库5.2.2 克隆远程仓库6. Git 文件操作6.1 文件4种状态6.2 查看文件状态6.3 .gitignore 忽略文件7. 使用码云 gitee7.1 设置本机绑定 SSH 公钥7.2 从 gitee 初始化一个项目8. IDEA 中集成 Git9…

如何安全的从ubuntu16.04升级到18.04?

Ubuntu全盘备份与恢复&#xff0c;亲自总结&#xff0c;实测可靠 按照ubuntu官方发布计划&#xff0c;ubuntu16.04将在2021年4月停止工作&#xff0c;加上新出的一些硬件和算法都是考虑了到18.04的兼容&#xff0c;因此&#xff0c;最近开始考虑升级系统的事情。 提醒 最终&…

网站建设之邮件发送形式

出处&#xff1a;网易学院 作者&#xff1a;林小志 时间&#xff1a;2006-1-11 17:33:00 先申明哦&#xff0c;这里所说的邮件发送形式是最原始的邮件发送形式&#xff0c;并不是与ASP之类的语言或者组件结合在一起的邮件发送&#xff0c;而且最重要的一点就是这种方法的邮件发…

开发规范-java代码注释及IDEA配置代码注释模板

引&#xff08;阿里巴巴开发规范-注释规约 【强制】类、类属性、类方法的注释必须使用 Javadoc 规范&#xff0c;使用/*内容/格式&#xff0c;不得使用 // xxx 方式。 说明&#xff1a;在 IDE 编辑窗口中&#xff0c;Javadoc 方式会提示相关注释&#xff0c;生成 Javadoc 可以…