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

712. 两个字符串的最小ASCII删除和 -- 动规

712. 两个字符串的最小ASCII删除和


class MinimumDeleteSum:"""712. 两个字符串的最小ASCII删除和https://leetcode.cn/problems/minimum-ascii-delete-sum-for-two-strings/"""def solution(self, s1: str, s2: str) -> int:"""递归解法 + 备忘录自顶向下:param text1::param text2::return:"""m, n = len(s1), len(s2)self.memo = [[-1 for _ in range(n)] for _ in range(m)]return self.dp(s1, 0, s2, 0)def dp(self, text1, i, text2, j):"""将 s1[i..] 和 s2[j..] 删除成相同字符串:param text1::param i::param text2::param j::return:"""res = 0# base caseif i == len(text1):while j < len(text2):res += ord(text2[j])j += 1return resif j == len(text2):while i < len(text1):res += ord(text1[i])i += 1return res# 备忘录if self.memo[i][j] != -1:return self.memo[i][j]if text1[i] == text2[j]:self.memo[i][j] = self.dp(text1, i + 1, text2, j + 1)else:self.memo[i][j] = min(self.dp(text1, i + 1, text2, j) + ord(text1[i]),self.dp(text1, i, text2, j + 1) + ord(text2[j]))return self.memo[i][j]
http://www.lryc.cn/news/164969.html

相关文章:

  • python中的小tips
  • 高精度(加减乘除)
  • java企业数据管理系统
  • 【云原生进阶之PaaS中间件】第二章Zookeeper-3.1分布式架构介绍
  • 2023-09-11力扣每日一题
  • windows10使用wheel安装tensorflow2.13.0/2.10.0 (保姆级教程)
  • 【LeetCode与《代码随想录》】贪心算法篇:做题笔记与总结-JavaScript版
  • Http客户端OkHttp的基本使用
  • 认识网线上的各种参数标号
  • 软件测开记录(一)
  • 基数排序之代码解析
  • 使用C语言EasyX 创建动态爱心背景
  • springboot redisTemplate.opsForValue().setIfAbsent返回null原理
  • Python调用Jumpserver的Api接口增删改查
  • 后端入门教程:从零开始学习后端开发
  • 无涯教程-JavaScript - DB函数
  • 2023年财务顾问行业研究报告
  • 2023SICTF ROUND2 baby_heap
  • buuctf crypto 【密码学的心声】解题记录
  • 论文阅读 (100):Simple Black-box Adversarial Attacks (2019ICML)
  • 41 个下载免费 3D 模型的最佳网站
  • SpringMVC之JSR303和拦截器
  • 通过rabbitmq生成延时消息,并生成rabbitmq镜像
  • 结构型模式-外观模式
  • vue三个点…运算符时报错 Syntax Error: Unexpected token
  • C# wpf 实现桌面放大镜
  • Mybatis中的#{}和${}的区别
  • 选择(使用)数据库
  • GFS分布式文件系统
  • 虚函数、纯虚函数、多态