day57【动态规划】647.回文子串 516.最长回文子序列
文章目录
- 647. 回文子串
- 516.最长回文子序列
647. 回文子串
-
力扣题目链接
-
代码随想录讲解
-
题意:给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目。
回文字符串 是正着读和倒过来读一样的字符串。
子字符串 是字符串中的由连续字符组成的一个序列。
具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。
示例 1:输入:s = "abc"输出:3解释:三个回文子串: "a", "b", "c"示例 2:输入:s = "aaa"输出:6解释:6个回文子串: "a", "a", "a", "aa", "aa", "aaa" -
思路:见代码
class Solution {public int countSubstrings(String s) {char[] chars = s.toCharArray();//代表[i,j]范围内的子串是否是回文子串,如果是则为trueboolean[][] dp = new boolean[chars.length][chars.length];//记录回文子串的长度int res = 0;//根据递归公式看遍历顺序,递归公式中由dp[i+1][j-1]推出dp[i][j],是从左下角推过来的。所以遍历顺序要从下到上,从左到右for(int i = chars.length-1; i >= 0; i--) {for(int j = i; j < chars.length; j++) {//如果字符i和j一样,看i和j之间的子串是不是回文子串if(chars[i] == chars[j]) {//如果j和i之间的距离小于等于1,即a/aa这种情况,一个单独的字符或两个相等元素的字符,这样的子串是回文子串,res++if(j-i <= 1) {res++;dp[i][j] = true;} //当i和j之间的距离大于1时,看i和j之间的子串是否是回文子串,即看dp[i+1][j-1],如果是,那么i和j相同,i到j也是回文。else if(dp[i+1][j-1]) {res++;dp[i][j] = true;}} }}return res;}
}
516.最长回文子序列
-
力扣题目链接
-
代码随想录链接
-
题意:给你一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度。
子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列。
示例 1:输入:s = "bbbab"输出:4解释:一个可能的最长回文子序列为 "bbbb" 。示例 2:输入:s = "cbbd"输出:2解释:一个可能的最长回文子序列为 "bb" 。 -
此题求回文子序列,可以不连续。跟回文子串不一样,回文子串要求必须连续。
-
思路,见代码
class Solution {public int longestPalindromeSubseq(String s) {char[] chars = s.toCharArray();int res = 1;//代表在i,j范围内最长的回文子序列的长度int[][] dp = new int[chars.length][chars.length];for(int i = 0; i < chars.length; i++) {dp[i][i] = 1;}for(int i = chars.length-1; i >= 0; i--) {for(int j = i+1; j < chars.length; j++) {if(chars[i] == chars[j]) {dp[i][j] = dp[i+1][j-1] + 2;} else {dp[i][j] = Math.max(Math.max(dp[i+1][j], dp[i][j-1]),dp[i][j]);}}}return dp[0][chars.length-1];}
}
相关文章:
day57【动态规划】647.回文子串 516.最长回文子序列
文章目录 647. 回文子串516.最长回文子序列 647. 回文子串 力扣题目链接 代码随想录讲解 题意:给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目。 回文字符串 是正着读和倒过来读一样的字符串。 子字符串 是字符串中的由连续字符组成的…...
分享vmware和Oracle VM VirtualBox虚拟机的区别,简述哪一个更适合我?
VMware和Oracle VM VirtualBox虚拟机的区别主要体现在以下几个方面: 首先两种软件的安装使用教程如下: 1:VMware ESXI 安装使用教程 2:Oracle VM VirtualBox安装使用教程 商业模式:VMware是一家商业公司,而…...
YOLOV5模型运行
1安装包 如果已经有了torch-cuda环境直接在环境下 pip install -r requirements.txt 2解决报错代码 raise ImportError("Failed to initialize: {0}".format(exc)) from exc ImportError: Failed to initialize: Bad git executable. The git executable must be …...
@Autowired和@Resource注解的区别和联系
直接看原文 原文链接: 【精选】Autowired和Resource注解的区别和联系【精选】 ------------------------------------------------------------------------------------------------------------------------------- 先说联系 联系 Autowired和Resource注解都是作为bean…...
设计模式类型
创建型模式 创建型模式(Creational Pattern)对类的实例化过程进行了抽象,能够将软件模块中对象的创建和对象的使用分离。为了使软件的结构更加清晰,外界对于这些对象只需要知道它们共同的接口,而不清楚其具体的实现细节,使整个系…...
Android修行手册-实现利用POI将图片插入到Excel中(文末送书)
点击跳转>Unity3D特效百例点击跳转>案例项目实战源码点击跳转>游戏脚本-辅助自动化点击跳转>Android控件全解手册点击跳转>Scratch编程案例点击跳转>软考全系列 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分享&…...
低功耗工业RFID设备应用
随着工业自动化的迅速发展,RFID技术也在工业领域得到了广泛的应用,在近距离非接触读写应用时,常常利用低功耗的工业RFID设备来进行识别,下面我们将详细介绍低功耗工业RFID设备的应用。 低功耗工业RFID设备具有功耗低、体积小、重量…...
# Oracle 库常见问题排查
Oracle 库常见问题排查 文章目录 Oracle 库常见问题排查查询数据库的相关信息查看正在执行的语句杀掉正在执行的sql查看未提交的事务查看锁表 查询数据库的相关信息 查看正在执行的语句 SELECT s.sid, s.serial#, s.username, s.status, s.sql_id, s.sql_child_number, sq.sq…...
矩阵乘积的迹对矩阵求导
说明 有时候为了输入方便,B和都代表B的转置。 矩阵的在线计算有个网站可以参考:Matrix Calculus dtr(AB)/dAB 下面用一个例子来证明。 dtr(ABA)/dAABAB 下面用一个例子来证明: 因为我们要求ABA的迹,所以为了简便,我们…...
IP 地址冲突检测工具
IP 冲突是一个术语,用于表示同一网络或子网中尝试使用相同 IP 地址的两个或多个设备的状态,这可能会导致发往特定主机的通信与其他主机混淆,因为两者都使用相同的 IP,为了避免这种情况,某些主机在发生 IP 冲突时会失去…...
js树形数组遍历练习,扁平化、格式化、获取节点父级
1.树形数组扁平化 数组扁平化的方式很多,这里主要是用递归处理,除此之外还有正则、扩展运算符等等 const list [{name:1,id:1,children:[{name:11,id:11,children:[{name:111,id:111}]},{name:12},]},{name:2,id:2,children:[{name:21,id:21,children:…...
c语言贪吃蛇项目的实现
ncurse的引入 ncurse的概念 ncurse(new curses)是一套编程库,它提供了一系列的函数,以便使用者调用它们去生成基于文本的用户界面。 ncurses是一个能提供功能键定义(快捷键),屏幕绘制以及基于文本终端的图形互动功能的动态库。ncurses用得最多的地方是…...
IDEA运行前端vue项目,安装nodejs,以及配置
我在刚接手到一个项目的时候,不知道前端的代码的情况下,想要写后端代码,遇到问题 所以需要看前台代码,着手IDEA 开始 安装nodejs (为什么要安装nodejs呢,首先就是说需要npm, 而nodejs 内置npm) 1.从官网下载 nodej…...
SAP S4后的一些注意点(一)(更新中)
SAP 此外,我们必须确保 P10 中所有新的 Unicore 代码都是云就绪的。因此,在 ATC 中增加了一项新的检查(自定义),以证明代码的云就绪性。此外,我们还在 ADT 中安装了一个名为 ABAP Cleaner 的新插件…...
Python高级语法----深入asyncio:构建异步应用
文章目录 异步I/O操作示例:异步网络请求异步任务管理示例:并发执行多个任务使用异步队列示例:生产者-消费者模式在现代软件开发中,异步编程已经成为提高应用性能和响应性的关键技术之一。Python的asyncio库为编写单线程并发代码提供了强大的支持。本文将深入探讨asyncio的三…...
5-爬虫-打码平台、打码平台自动登录打码平台、selenium爬取京东商品信息、scrapy介绍安装、scrapy目录结构
1 打码平台 1.1 案例 2 打码平台自动登录打码平台 3 selenium爬取京东商品信息 4 scrapy介绍安装 5 scrapy目录结构 1 打码平台 # 1 登录某些网站,会有验证码---》想自动破解-数字字母:python模块:ddddocr-计算题,成语题…...
HTTPS 的工作原理是什么?
HTTPS(HyperText Transfer Protocol Secure)是一种通过加密和认证保护数据传输安全的通信协议。它是基于传统的 HTTP 协议,通过使用 SSL(Secure Sockets Layer)或 TLS(Transport Layer Security)…...
【STM32】TIM2的PWM:脉冲宽度调制
PWM是一种周期固定,脉宽可调整的输出波形。 0.通用寄存器输出 1.捕获/比较通道1的主电路--中间部分 2.捕获/比较通道的输出部分--输出 3.通用定时器输出PWM原理 PWM波周期或者频率由ARR(就是要进递增/递减的值)决定,PWM波占空比由…...
DRF 学习
一、安装DRF 1、pip install djangorestframework -i https://pypi.douban.com/simple 2、pip install pymysql -i https://pypi.douban.com/simple 二、创建Django项目 1、django-admin startproject drfdemo 三、添加rest_framework应用 1、INSTALLED_APPS …...
2023年双11有哪些便宜的云服务器值得推荐?
每年的双11期间各大云计算服务商都会推出特价云服务器,今年自然也不例外,下面给大家分享2023年双11有哪些便宜的云服务器值得推荐。 1、阿里云【传送门>>>】 阿里云双11推出了金秋云创季活动,2核2G3M不限流量,1年99元&…...
Pixel Couplet Gen微信小程序实战:Canvas渲染像素春联并支持长按保存
Pixel Couplet Gen微信小程序实战:Canvas渲染像素春联并支持长按保存 1. 项目背景与核心功能 Pixel Couplet Gen是一款将传统春节文化与现代像素艺术相结合的创新应用。通过ModelScope大模型的文本生成能力,结合微信小程序的Canvas渲染技术,…...
点云配准效率翻倍:深入浅出图解Fast Global Registration的‘四元约束’到底在干嘛
点云配准效率翻倍:深入浅出图解Fast Global Registration的‘四元约束’到底在干嘛 想象一下你面前有两张由不同角度拍摄的乐高城堡照片,现在需要将它们完美拼接成一幅完整图像。传统方法需要逐块尝试拼合,而Fast Global Registration&#x…...
CritiCal方法:提升LLM置信度校准的可解释性
1. 项目背景与核心挑战 在医疗诊断、金融分析等高风险领域,大型语言模型(LLM)的可靠性直接关系到决策安全。传统方法如SaySelf通过采样多个推理链评估一致性,但存在两个根本缺陷:首先,依赖重复采样导致计算…...
Mac Mouse Fix 终极教程:让你的普通鼠标在macOS上获得苹果触控板般的体验
Mac Mouse Fix 终极教程:让你的普通鼠标在macOS上获得苹果触控板般的体验 【免费下载链接】mac-mouse-fix Mac Mouse Fix - Make Your $10 Mouse Better Than an Apple Trackpad! 项目地址: https://gitcode.com/GitHub_Trending/ma/mac-mouse-fix 还在为mac…...
C++27范围库四大革命性扩展曝光:filter_view增强、zip_transform_v3、lazy_split_by、borrowed_range优化——你漏掉的性能跃迁机会在哪?
更多请点击: https://intelliparadigm.com 第一章:C27范围库扩展全景概览 C27 将对 头文件进行实质性增强,聚焦于提升范围组合的表达力、执行效率与编译期可推导性。标准委员会已正式采纳多项提案(P2954R0、P2976R1、P3026R0&am…...
高效视频格式转换:跨平台B站缓存视频批量处理方案
高效视频格式转换:跨平台B站缓存视频批量处理方案 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter m4s-converter是一款专为解决B站缓…...
BPS系列高功率AC电源与频率转换器技术解析
1. BPS系列高功率AC电源/频率转换器技术解析在电力电子测试领域,AC电源和频率转换器扮演着至关重要的角色。作为一名从事自动化测试系统设计十余年的工程师,我见证过各种电源设备的迭代更新。今天要深入剖析的BPS系列,是AMETEK旗下California…...
MCP插件性能瓶颈全解析,精准定位LSP响应延迟、上下文丢失、元数据同步失败三大致命问题
更多请点击: https://intelliparadigm.com 第一章:VS Code MCP 插件生态搭建手册概览 VS Code 的 MCP(Model Control Protocol)插件生态正成为 AI 原生开发工作流的关键基础设施。MCP 协议由 Anthropic 提出,旨在标准…...
NoFences:5分钟打造整洁高效的Windows桌面分区终极指南
NoFences:5分钟打造整洁高效的Windows桌面分区终极指南 【免费下载链接】NoFences 🚧 Open Source Stardock Fences alternative 项目地址: https://gitcode.com/gh_mirrors/no/NoFences 你是否厌倦了Windows桌面上杂乱无章的图标?每天…...
5分钟掌握魔兽争霸III WarcraftHelper插件:解锁300帧+宽屏完美体验终极指南
5分钟掌握魔兽争霸III WarcraftHelper插件:解锁300帧宽屏完美体验终极指南 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为魔兽争霸…...
