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

2025年--Lc196-712. 两个字符串的最小ASCII删除和(动态规划在字符串的应用)--Java版

1.题目

在这里插入图片描述

2.思路

(1)在下标为[1, m - 1]的字符串s1 = “ea” 与 下标为[0, n - 1]的字符串s2 = "eat"中 寻找 相等的字符串。
定义dp数组,多开一行一列存储空字符串
s1 前 i 个字符 (s1[0…i-1])和 s2 前 j 个字符 (s2[0…j-1]),能匹配(不删除)的字符的 ASCII 总和的最大值。
sum存的是两个字符串的ascii码值
(2)初始化 第一行第一列默认是0
(3)遍历顺序,从第二行第二列开始遍历

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.代码实现

class Solution {public int minimumDeleteSum(String s1, String s2) {int m=s1.length();int n=s2.length();int sum=0;//定义dp数组,多开一行一列存储空字符串//s1 前 i 个字符 (s1[0..i-1])和 s2 前 j 个字符 (s2[0..j-1]),能匹配(不删除)的字符的 ASCII 总和的最大值。int[][] dp=new int[m+1][n+1];//把字符串变成字符数组for(char ch:s1.toCharArray())sum=sum+ch;for(char ch:s2.toCharArray())sum=sum+ch;//默认第一行第一列都为0,因为空字符串,最小的ascii码for(int i=1;i<=m;i++){for(int j=1;j<=n;j++){char a=s1.charAt(i-1);char b=s2.charAt(j-1);if(a==b)//“保留这对相同字符”,那么能匹配的 ASCII 总和就等于“前面匹配的 + 这两个字符的值”。{dp[i][j]=dp[i-1][j-1]+a+b;}else//字符不相同,要让删除的和最小,所以现在就要让匹配的字符的ASCII码的和最大{dp[i][j]=Math.max(dp[i-1][j],dp[i][j-1]);}}}// sum 是两串所有字符之和;dp[m][n] 是“保留的公共部分”的双倍和return sum-dp[m][n];}
}
http://www.dtcms.com/a/496192.html

相关文章:

  • 淄博有做网站的吗第一免费营销型网站
  • 怎样做模板网站免费网站提交入口
  • 网站建设是要考虑什么东西做网站有底薪吗
  • 买卖合同审查要点及指南
  • Mui框架做网站专项培训网站建设方案
  • Marin说PCB之POC电路layout设计仿真案例---16
  • M部分权限的撤销
  • 建立网站一般多少钱怎样用网站做app
  • 申威(sw_64)架构下如何安装java-1.8.0-swjdk的rpm包?​
  • 性能测试之性能调优详解
  • sql日志打印控制台及存储
  • 青岛城乡住房建设厅网站软件开发外包是什么意思
  • 网站公司的未来中国城乡住房和建设部网站
  • 算法416. 分割等和子集
  • 编织网站建设网站建设考核
  • 2-SpringCloud-Consul服务注册与发现和分布式配置管理
  • 前后端分离项目java+vue 加密一般用几种加密方式,具体是什么加密,怎么用的
  • 从零掌握贪心算法Java版:LeetCode 10题实战解析(上)
  • matlab_学习_均分数据
  • 深圳免费建站山东省建设节能协会网站
  • 青岛万维网站设计珠宝类企业网站(手机端)
  • 【展厅多媒体】触摸查询一体机实现数据可视化
  • linux学习笔记(37)mysql视图详解
  • 自定义配置小程序tabbar逻辑思路
  • 临沂网站制作网站微信商城搭建
  • 月牙河做网站公司搜索引擎排名规则
  • 多字节串口收发IP设计(七)串口接收模块合并及排故(含源码)
  • 建立网站的意义哪个建站平台较好
  • 如何进行坡度分析
  • 做网站源代码网页制作模板