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

Leetcode 712. Minimum ASCII Delete Sum for Two Strings

Problem

Given two strings s1 and s2, return the lowest ASCII sum of deleted characters to make two strings equal.

Algorithm

Dynamic Programming (DP): similar as Longest Common Subsequence (LCS).

  • If s1[i] != s2[j]:
    F ( i , j ) = min ⁡ ( F ( i − 1 , j ) + cost ( s 1 [ i ] ) ,   F ( i , j − 1 ) + cost ( s 2 [ j ] ) ) F(i, j) = \min \left( F(i-1, j) + \text{cost}(s1[i]), \, F(i, j-1) + \text{cost}(s2[j]) \right) F(i,j)=min(F(i1,j)+cost(s1[i]),F(i,j1)+cost(s2[j]))

  • If s1[i] == s2[j]:
    F ( i , j ) = F ( i − 1 , j − 1 ) F(i, j) = F(i-1, j-1) F(i,j)=F(i1,j1)

Code

class Solution:
    def minimumDeleteSum(self, s1: str, s2: str) -> int:
        l1, l2 = len(s1) + 1, len(s2) + 1
        dp = [[0] * l2 for _ in range(l1)] 

        for i in range(1, l1):
            dp[i][0] = dp[i-1][0] + ord(s1[i-1])
        for j in range(1, l2):
            dp[0][j] = dp[0][j-1] + ord(s2[j-1])
        
        for i in range(1, l1):
            for j in range(1, l2):
                if s1[i-1] == s2[j-1]:
                    dp[i][j] = dp[i-1][j-1]
                else:
                    dp[i][j] = min(dp[i-1][j] + ord(s1[i-1]), dp[i][j-1] + ord(s2[j-1]))
        
        return dp[l1-1][l2-1]
http://www.dtcms.com/a/20550.html

相关文章:

  • 机器学习 - 学习线性模型的重要性
  • 智能交通路线规划:让 AI 帮你躲避拥堵
  • Express 路由路径正则详解
  • Python随笔
  • 大模型炼丹基础--GPU内存计算
  • Redis c++安装使用教程(redis-plus-plus)
  • LabVIEW利用CANopen的Batch SDO写入
  • 乘积最大 之 连续与非联系子数组
  • Linux上Scapy完全指南:从入门到实战攻防
  • 基于SpringBoot实现的大学社团平台系统实现功能六
  • 【16届蓝桥杯寒假刷题营】第2期DAY1I
  • Visionpro 齿轮测量
  • frp与云服务器内网穿透
  • 网上购物|基于SprinBoot+vue的网上购物系统(源码+数据库+文档)
  • 大模型应用开发时如何调试提示词?
  • 深入解析504网关超时错误:服务器通信故障的诊断与解决
  • 每日复盘20250216
  • TensorFlow项目GPU运行 安装步骤
  • ThreadLocal详解
  • 2.buuctf [CISCN 2019 初赛]Love Math
  • Httprint 指纹识别技术:网络安全的关键洞察
  • 【三十三周】文献阅读:OpenPose: 使用部分亲和场的实时多人2D姿态估计
  • 【Spring Boot】网页五子棋项目中遇到的困难及解决方法
  • Express 中 res 响应方法详解
  • Docker 部署 MySQL 8 详细图文教程
  • JavaScript前端开发:构建交互式网页的魔法
  • 使用Actuator启动失败,Failed to start bean ‘documentationPluginsBootstrapper‘
  • 基于Django以及vue的电子商城系统设计与实现
  • 哈希-字母异位词分组
  • (20)从strlen到strtok:解码C语言字符函数的“生存指南1”