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

算法笔记|Day40动态规划XIII

算法笔记|Day40动态规划XIII

  • ☆☆☆☆☆leetcode 647. 回文子串
    • 题目分析
    • 代码
  • ☆☆☆☆☆leetcode 516.最长回文子序列
    • 题目分析
    • 代码

☆☆☆☆☆leetcode 647. 回文子串

题目链接:leetcode 647. 回文子串

题目分析

1.dp数组含义:dp[i][j]表示表示区间范围[i,j] (注意是左闭右闭)的子串是否是回文子串;
2.递推公式:if(s.charAt(i)==s.charAt(j)):if(j-i<=1)dp[i][j]=true;else if(dp[i+1][j-1])dp[i][j]=true;(若i位置元素与j位置元素不同,一定不是回文子串,无需操作;只需要考虑i位置元素与j位置元素相同时,即s.charAt(i)==s.charAt(j)。在此基础上,若下标i与j相同或差为1,是回文子串;若下标i与j相差大于1,看i到j区间是不是回文子串就看i+1与j-1区间;如果是回文子串,res加一);
3.初始化:所有dp[i][j]=false;
4.遍历顺序:i从大到小,j从小到大,而且j大于等于i,j从i开始。

代码

class Solution {public int countSubstrings(String s) {boolean dp[][]=new boolean[s.length()][s.length()];int res=0;for(int i=s.length()-1;i>=0;i--){for(int j=i;j<s.length();j++){if(s.charAt(i)==s.charAt(j)){if(j-i<=1){dp[i][j]=true;res++; }else if(dp[i+1][j-1]){dp[i][j]=true;res++;                        }                    }}}return res;}
}

☆☆☆☆☆leetcode 516.最长回文子序列

题目链接:leetcode 516.最长回文子序列

题目分析

1.dp数组含义:dp[i][j]表示字符串s在[i, j]范围内最长的回文子序列的长度;
2.递推公式:if(s.charAt(i)==s.charAt(j))dp[i][j]=dp[i+1][j-1]+2;else dp[i][j]=Math.max(dp[i+1][j],dp[i][j-1])(若i位置元素与j位置元素相同,回文子序列长度在dp[i+1][j-1]基础上加二;若i位置元素与j位置元素不同时,取[i+1, j]与[i, j-1]两个区间最长回温子序列的最大值);
3.初始化:所有dp[i][i]=1;
4.遍历顺序:i从大到小,j从小到大,而且j大于等于i,j从i+1开始。

代码

class Solution {public int longestPalindromeSubseq(String s) {int dp[][]=new int[s.length()][s.length()];for(int i=0;i<s.length();i++)dp[i][i]=1;for(int i=s.length()-1;i>=0;i--){for(int j=i+1;j<s.length();j++){if(s.charAt(i)==s.charAt(j)){dp[i][j]=dp[i+1][j-1]+2;}else{dp[i][j]=Math.max(dp[i+1][j],dp[i][j-1]);}}}return dp[0][s.length()-1];}
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 智汇云舟受邀参加2024第四届国产水科学数值模型开发创新与技术应用研讨会,并成为“科技智水产业联盟”创始成员
  • 【个人笔记】VCS工具与命令
  • 【STM32】通用定时器TIM(时钟源选择与更新中断)
  • 全系统各类型工程水土保持方案编制实践技术
  • 【2024数模国赛赛题思路公开】国赛B题思路丨附可运行代码丨无偿自提
  • 最值得信赖的10款电脑监控软件推荐
  • 紫色UI趣味测试小程序源码,包含多种评测
  • 企业合规:从英伟达事件到全球企业的必修课
  • 功能发布-自定义SQL查询
  • 过滤器(Filter)和拦截器(Interceptor)
  • 多平台融合——数据库HA(一)
  • 牛客(除2!)
  • 【大数据Big DATA】大数据解决方案,提供完整的大数据采集,大数据存储,大数据处理,具体业务应用解决方案
  • 【运维监控】prometheus+node exporter+grafana 监控linux机器运行情况(1)
  • 飞利浦的精益转型之路:从传统制造到智能制造的华丽蜕变
  • 2017前端实习生面试总结
  • docker容器内的网络抓包
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • GitUp, 你不可错过的秀外慧中的git工具
  • Java精华积累:初学者都应该搞懂的问题
  • MySQL几个简单SQL的优化
  • Solarized Scheme
  • 测试开发系类之接口自动化测试
  • 动态规划入门(以爬楼梯为例)
  • 力扣(LeetCode)357
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 转载:[译] 内容加速黑科技趣谈
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • ​HTTP与HTTPS:网络通信的安全卫士
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • $(function(){})与(function($){....})(jQuery)的区别
  • (1)Hilt的基本概念和使用
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (Java企业 / 公司项目)点赞业务系统设计-批量查询点赞状态(二)
  • (Matalb回归预测)PSO-BP粒子群算法优化BP神经网络的多维回归预测
  • (阿里云万网)-域名注册购买实名流程
  • (二)测试工具
  • (附源码)spring boot北京冬奥会志愿者报名系统 毕业设计 150947
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (一一四)第九章编程练习
  • (转载)CentOS查看系统信息|CentOS查看命令
  • ******之网络***——物理***
  • *算法训练(leetcode)第四十天 | 647. 回文子串、516. 最长回文子序列
  • .NET CF命令行调试器MDbg入门(三) 进程控制
  • .NET Core 版本不支持的问题
  • .NET Micro Framework 4.2 beta 源码探析
  • .Net Remoting(分离服务程序实现) - Part.3
  • .net 简单实现MD5
  • /bin/bash^M: bad interpreter: No such file ordirectory
  • /etc/apt/sources.list 和 /etc/apt/sources.list.d
  • [AR]Vumark(下一代条形码)
  • [CareerCup] 6.1 Find Heavy Bottle 寻找重瓶子