动态规划 | part13
647. 回文子串 - 力扣LeetCode给定一个字符串你的任务是计算这个字符串中有多少个回文子串。具有不同开始位置或结束位置的子串即使是由相同的字符组成也会被视作不同的子串。示例 1输入abc输出3解释三个回文子串: a, b, c示例 2输入aaa输出6解释6个回文子串: a, a, a, aa, aa, aaa提示输入的字符串长度不会超过 1000 。public int countSubstrings(String s) { // dp数组表示的是[i,j]是否为回文串 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; } } else { dp[i][j] false; } } } return res; }解题dp[i][j]表示字符串s中从索引i到索引j的子串即s[i...j]是否是回文串。我们的循环顺序非常关键外层循环i从字符串的最后一个字符向前遍历到第一个字符倒序。内层循环j从当前i的位置向后遍历到字符串末尾。为什么要倒序遍历i因为判断dp[i][j]是否回文时依赖于内部子串dp[i1][j-1]的结果。只有当i从大到小遍历时计算dp[i][j]时dp[i1][...]的结果才已经被计算并存储好了。如果i从小到大遍历依赖的数据还没算出来逻辑就会出错516. 最长回文子序列 - 力扣LeetCode给定一个字符串 s 找到其中最长的回文子序列并返回该序列的长度。可以假设 s 的最大长度为 1000 。示例 1: 输入: bbbab 输出: 4 一个可能的最长回文子序列为 bbbb。示例 2: 输入:cbbd 输出: 2 一个可能的最长回文子序列为 bb。提示1 s.length 1000s 只包含小写英文字母public int longestPalindromeSubseq(String s) { // dp数组表示的是[i,j]的最长回文子串的长度 int[][] dp new int[s.length()][s.length()]; for (int i s.length() - 1; i 0; i--) { dp[i][i] 1; 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]; }解题子序列定义为不改变剩余字符顺序的情况下删除某些字符或者不删除任何字符形成的一个序列。这里的遍历顺序与上一题类似因为我们的状态是由前面左下角以及下方数据递推得到的所以我们需要从下往上从左往右进行遍历当我们匹配上的时候需要dp[i 1][j - 1] 2因为是一次俩个字符我们统计的是长度所以需要加2.如果不匹配的情况我们则需要考虑如果不考虑i以及不考虑j二者哪个的长度更大一些。既然两头不一样它们不可能同时出现在同一个回文子序列的两端。因此最长回文子序列要么不包含s[i]要么不包含s[j]或者都不包含但这被前两种情况覆盖了

相关新闻

科技中介如何提升服务专业性与效率?

科技中介如何提升服务专业性与效率?

观点作者:科易网-AI技术转移与科技创新数智化服务平台一、现状概述:科技成果转化服务体系的成效与短板 近年来,我国科技创新体系不断健全,科技成果转化市场蓬勃发展。各类科技中介机构作为连接高校、科研院所与企业之间的桥梁&…

2026/7/6 23:16:38 阅读更多 →
最近在折腾一块ARM+FPGA架构的运动控制卡,这玩意儿在工业自动化领域可是个狠角色。咱直接上干货,聊聊这板子的设计门道和代码实现中的那些坑

最近在折腾一块ARM+FPGA架构的运动控制卡,这玩意儿在工业自动化领域可是个狠角色。咱直接上干货,聊聊这板子的设计门道和代码实现中的那些坑

开发板ARMFPGA架构运动控制卡 原理图 PCB图 运动控制器框架源码 硬件架构方面,ARM(Cortex-A9)负责上层任务调度,FPGA(Xilinx Artix-7)专攻实时运动控制。原理图里有个关键点——双口RAM桥接设计&#xff0…

2026/7/7 11:45:56 阅读更多 →
我的AI副业翻车:自动写小说被告侵权

我的AI副业翻车:自动写小说被告侵权

第一章 事故还原:测试工程师的AI副业困局 作为某大厂资深测试架构师,我基于GPT-3微调开发了「故事工厂」AI写作工具。产品上线3个月后收到版权方律师函:系统生成的星际战争小说中,有12处场景描写与《三体》相似度超85%&#xff0…

2026/7/7 15:05:00 阅读更多 →

最新新闻

Obsidian本地REST API终极指南:5步构建你的智能笔记自动化系统

Obsidian本地REST API终极指南:5步构建你的智能笔记自动化系统

Obsidian本地REST API终极指南:5步构建你的智能笔记自动化系统 【免费下载链接】obsidian-local-rest-api A secure REST API and Model Context Protocol (MCP) server for your vault. 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-local-rest-api …

2026/7/8 0:41:03 阅读更多 →
AI 电动滑板车智能功率 电池保护 高效驱动方案

AI 电动滑板车智能功率 电池保护 高效驱动方案

随着 AI 技术赋能电动滑板车(如智能扭矩控制、自适应续航、动力回收),电机控制器对功率 MOSFET 提出新要求:高效率、小体积、高可靠性与低成本。微碧半导体(VBsemi)基于先进 Trench 工艺,为您提…

2026/7/8 0:41:03 阅读更多 →
OpenCV 4.8.0 BGR 历史溯源:从硬件兼容到现代库的 3 种应对策略

OpenCV 4.8.0 BGR 历史溯源:从硬件兼容到现代库的 3 种应对策略

OpenCV 4.8.0 BGR 历史溯源:从硬件兼容到现代库的 3 种应对策略在计算机视觉领域,OpenCV 的 BGR 通道顺序一直是开发者绕不开的话题。当你第一次用 OpenCV 读取图像后尝试用 matplotlib 显示时,那诡异的蓝色调会让你瞬间意识到问题的存在——…

2026/7/8 0:39:03 阅读更多 →
7天从零到精通:SMAPI星露谷物语模组开发完全指南

7天从零到精通:SMAPI星露谷物语模组开发完全指南

7天从零到精通:SMAPI星露谷物语模组开发完全指南 【免费下载链接】SMAPI The modding API for Stardew Valley. 项目地址: https://gitcode.com/gh_mirrors/smap/SMAPI 你是否曾想过为星露谷物语添加全新的游戏内容?是否羡慕其他玩家拥有独特的农…

2026/7/8 0:34:55 阅读更多 →
开源DICOM影像分析平台:Weasis如何重塑医学影像工作流程

开源DICOM影像分析平台:Weasis如何重塑医学影像工作流程

开源DICOM影像分析平台:Weasis如何重塑医学影像工作流程 【免费下载链接】Weasis Weasis is a web-based DICOM viewer for advanced medical imaging and seamless PACS integration. 项目地址: https://gitcode.com/gh_mirrors/we/Weasis 在医疗影像诊断领…

2026/7/8 0:30:54 阅读更多 →
DokuWiki:无需数据库的轻量级开源维基引擎,构建高效知识管理平台

DokuWiki:无需数据库的轻量级开源维基引擎,构建高效知识管理平台

DokuWiki:无需数据库的轻量级开源维基引擎,构建高效知识管理平台 【免费下载链接】dokuwiki The DokuWiki Open Source Wiki Engine 项目地址: https://gitcode.com/gh_mirrors/do/dokuwiki DokuWiki是一款无需数据库的开源维基引擎,凭…

2026/7/8 0:30:53 阅读更多 →

日新闻

3大核心能力重塑《明日方舟》游戏体验:MAA自动化助手的革命性突破

3大核心能力重塑《明日方舟》游戏体验:MAA自动化助手的革命性突破

3大核心能力重塑《明日方舟》游戏体验:MAA自动化助手的革命性突破 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all clients. 项目地址: …

2026/7/8 0:00:48 阅读更多 →
MyBatis 批量操作深度优化——从 N+1 到批处理的全路径

MyBatis 批量操作深度优化——从 N+1 到批处理的全路径

MyBatis 批量操作深度优化——从 N1 到批处理的全路径 一、从"功能正确"到"性能可接受"——MyBatis 批量操作的三段式进化 MyBatis 在日常增删改查场景中几乎是无感的——实体映射直观、SQL 控制灵活。但当数据量从千级上升到十万级、百万级,许…

2026/7/8 0:00:48 阅读更多 →
工业负载控制方案:TPD2015FN与PIC18F45K22应用解析

工业负载控制方案:TPD2015FN与PIC18F45K22应用解析

1. 工业负载控制方案概述在工业自动化、电机驱动和照明控制等高需求场景中,可靠地控制电感和电阻负载是核心挑战之一。TPD2015FN作为东芝的8通道高端智能功率开关IC,配合PIC18F45K22微控制器,能够构建一套稳定、高效的负载控制系统。这套组合…

2026/7/8 0:02:48 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/7 14:24:45 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/7 12:34:47 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/7 15:59:06 阅读更多 →

月新闻