72. 编辑距离(动态规划)

题目

在这里插入图片描述

题解

class Solution:def minDistance(self, word1: str, word2: str) -> int:# 定义状态:dp[i][j]表示将word1[0:i]转换成word2[0:j]所使用的最少操作数dp = [[0 for j in range(len(word2)+1)] for i in range(len(word1)+1)]# badcase: dp[0][j] = j, dp[i][0] = ifor i in range(1, len(word1)+1):dp[i][0] = ifor j in range(1, len(word2)+1):dp[0][j] = j# 状态转移for i in range(1, len(word1) + 1):for j in range(1, len(word2) + 1):# skipif word1[i-1] == word2[j-1]:dp[i][j] = dp[i-1][j-1]else:# min(增加,删除,替换)# 注意,替换也要加1个动作dp[i][j] = min(dp[i][j-1] + 1, dp[i-1][j] + 1, dp[i-1][j-1] + 1)return dp[len(word1)][len(word2)]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/195080.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构之链表练习与习题详细解析

个人主页:点我进入主页 专栏分类:C语言初阶 C语言程序设计————KTV C语言小游戏 C语言进阶 C语言刷题 数据结构初阶 欢迎大家点赞,评论,收藏。 一起努力,一起奔赴大厂。 目录 1.前言 2.习题解…

Appium自动化测试:通过appium的inspector功能无法启动app的原因

在打开appium-desktop程序,点击inspector功能,填写app的配置信息,启动服务提示如下: 报错信息: An unknown server-side error occurred while processing the command. Original error: Cannot start the cc.knowyo…

【坑】从源码安装Nav2(ROS2-iron) (不兼容的ompl和nav2)

文章目录 前言三种安装方式应当具备的知识源码安装Nav2找到Nav2的仓库下载源码下依赖构建源码构建源码中遇到的问题找不到Config.cmakefatal error: Eigen/Core: No such file or directoryoom C: fatal error: Killed signal terminated program cc1pluserror: RPC failed&…

基于go标准分层架构项目设计实现

基于go标准分层架构项目设计实现 缘起 个人博客网址 最近主要看了两方面知识,一方面是技术相关的,如何设计一个比较好的后端架构项目代码;一方面是非技术相关的,如何写一篇好的技术文章,能够让他人读懂并有收获。因…

7.22 SpringBoot项目实战【收藏 和 取消收藏】

文章目录 前言一、编写控制器二、编写服务层三、Postman测试最后前言 本系统还支持 收藏图书,就是对心仪的书加一下收藏,大家都懂,这是一个很常见的功能。 那么我们来看看怎么来做,先分析一下:【一个人】对【一本书】只需【收藏一次】,但可以【收藏N本】不同的书,收藏…

使用持久卷部署 WordPress 和 MySQL

🗓️实验环境 OS名称Microsoft Windows 11 家庭中文版系统类型x64-based PCDocker版本Docker version 24.0.6, build ed223bcminikube版本v1.32.0 🖇️创建 kustomization.yaml 你可以通过 kustomization.yaml 中的生成器创建一个 Secret存储密码或密…

如何隐藏Selenium特征实现自动化网页采集

Selenium是一个流行的自动化网页测试工具,可以通过模拟用户在Chrome浏览器中的操作来完成网站的测试。然而,有些网站会检测浏览器是否由Selenium驱动,如果是,就会返回错误的结果或拒绝访问。为了避免这种情况,我们需要…

基于RK3588的8k多屏异显安卓智能网络机顶盒

采用RK3588芯片方案的8K网络机顶盒,搭载纯净的安卓12操作系统,支持Ubuntu和Debian系统容拓展。主要面向外贸市场。此款机顶盒自带两个HDMI输出接口,一个HDMI输入接口,内置双频WiFi6无线模块,支持千兆以太网和USB接口。…

7个最佳开源免费库存/仓库管理系统(WMS)

库存/仓库管理软件是一种用于帮助企业管理库存、仓储位置和交付过程的软件系统。这种类型的软件对于拥有大量库存和多个仓库的企业非常有用。 库存/仓库管理软件的作用包括以下几个方面: (1)减少库存节约成本 通过跟踪库存水平和存储位置&…

快速修改ppt | 显得不单调

做完ppt,怎样不显得单调 ----> 加个 主题,首页 改下 字体(如 华文行楷,96,字体颜色)

庖丁解牛:NIO核心概念与机制详解 03 _ 缓冲区分配、包装和分片

文章目录 Pre概述缓冲区分配和包装 (allocate 、 wrap)缓冲区分片 (slice)缓冲区份片和数据共享只读缓冲区 (asReadOnlyBuffer)直接和间接缓冲区内存映射文件 I/O将文件映射到内存 Pre 庖丁解牛:NIO核心概念与机制详解…

vscode快捷键使用总结

) 1、格式化选中的代码 1、格式化选中的代码 vscode中选中所要格式化的代码: ctrl k,ctrlf 其实可以查到该命令 ctrlshiftp打开命令窗口输入format