动态规划part13

news2024/11/28 6:53:36

647. 回文子串

给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。

具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。

class Solution:
    def countSubstrings(self, s: str) -> int:
        dp = [[False] * len(s) for _ in range(len(s))]
        result = 0
        for i in range(len(s)-1, -1, -1): #注意遍历顺序
            for j in range(i, len(s)):
                if s[i] == s[j]:
                    if j - i <= 1: #情况一 和 情况二
                        result += 1
                        dp[i][j] = True
                    elif dp[i+1][j-1]: #情况三
                        result += 1
                        dp[i][j] = True
        return result

516.最长回文子序列

给定一个字符串 s ,找到其中最长的回文子序列,并返回该序列的长度。可以假设 s 的最大长度为 1000 。

示例 1: 输入: “bbbab” 输出: 4 一个可能的最长回文子序列为 “bbbb”。

示例 2: 输入:“cbbd” 输出: 2 一个可能的最长回文子序列为 “bb”。

class Solution:
    def longestPalindromeSubseq(self, s: str) -> int:
        dp = [[0] * len(s) for _ in range(len(s))]
        for i in range(len(s)):
            dp[i][i] = 1
        for i in range(len(s)-1, -1, -1):
            for j in range(i+1, len(s)):
                if s[i] == s[j]:
                    dp[i][j] = dp[i+1][j-1] + 2
                else:
                    dp[i][j] = max(dp[i+1][j], dp[i][j-1])
        return dp[0][-1]

动态规划最强总结篇

动规五部曲分别为:

确定dp数组(dp table)以及下标的含义
确定递推公式
dp数组如何初始化
确定遍历顺序
举例推导dp数组
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2062583.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Chat App 项目之解析(九)

Chat App 项目介绍与解析&#xff08;一&#xff09;-CSDN博客文章浏览阅读468次&#xff0c;点赞12次&#xff0c;收藏3次。Chat App 是一个实时聊天应用程序&#xff0c;旨在为用户提供一个简单、直观的聊天平台。该应用程序不仅支持普通用户的注册和登录&#xff0c;还提供了…

ArcGIS小技巧:编辑一个面的边界时,如何让相邻面同步修改

欢迎关注同名微信公众号&#xff0c;更多文章推送&#xff1a; 在ArcGIS中手动编辑2个相邻面的共同边界时&#xff0c;通常需要2个面都跟着修改&#xff1a; 一般做法是用【整形要素工具】&#xff0c;但是【整形要素工具】不能选择多个要素执行&#xff0c;所以需要执行2次&am…

GoFly框架登录Token使用

token是验证请求接口用户身份的标识&#xff0c;框架建议开发者在识别用户身份时使用token尽量不要明文传用户标识数据。 一、生成用户登录token 通过routeuse.GenerateToken生成登录token&#xff0c;方法返回生成的token字符串和err错误提示&#xff0c;其中routeuse.UserC…

删除或丢失的移动硬盘数据如何恢复?三种办法助你找回宝贵资料

在数字化时代&#xff0c;移动硬盘已成为我们存储重要数据不可或缺的工具。然而&#xff0c;数据丢失或误删除的情况时有发生&#xff0c;让人倍感焦虑。别担心&#xff0c;本文将为你详细介绍如何恢复删除或丢失的移动硬盘数据&#xff0c;帮助你找回那些宝贵的资料。 一、检…

太仓自闭症谱系(ASD)儿童

在我国&#xff0c;自闭症谱系&#xff08;ASD&#xff09;儿童被称为“星星的孩子”&#xff0c;他们犹如夜空中闪烁的星星&#xff0c;孤独而遥远。为了关爱这些特殊的孩子&#xff0c;让他们更好地融入社会&#xff0c;太仓市星星雨特殊儿童康复中心应运而生。这家康复中心致…

【YashanDB认证】YCA学习记录

第一章&#xff1a;YashanDB基础介绍 国产化数据库的发展及未来 崖山数据库系统&#xff1a;YashanDB是【深圳计算科学研究院】完全自主研发设计的新型数据库系统&#xff0c;经过工信部下述机构权威检测&#xff0c;内核代码自主率100%。 YashanDB 核心交易型数据库 企业级…

拆卸并简单分析一个充电宝线路板

原因 一个很久的充电宝&#xff0c;电量完全不能满足使用&#xff0c;拆解下来的保护板分析 结构图解 除了下图&#xff0c;还有一些外围电路 工作原理图解 电池保护芯片XB8606A&#xff08;停产&#xff09; VM连接的是充电口的负极&#xff0c;而这个芯片通过控制电池…

IEEEtran类模板中算法Algorithm的写法

1、注释掉默认的引用 % \usepackage{algorithmic} % \usepackage{algorithm}2、在\begin{document}之前加以下内容 \usepackage[ruled,norelsize,vlined,linesnumbered]{algorithm2e} \makeatletter \newcommand{\removelatexerror}{\let\latexerror\gobble} \makeatother3、…

2 kubeflow系统架构 学习笔记

1 Kubeflow生态系统 2 生态系统说明 2.1. Hardware&#xff08;硬件层&#xff09; 提供计算资源的底层硬件支持。GPU&#xff08;如NVIDIA&#xff09;通常用于加速机器学习和深度学习的计算任务&#xff0c;而Intel和AMD则可能提供CPU计算资源。 2.2. Infrastructure&…

线程池【详解】

线程池 1、 线程池概念 如果有非常多的任务需要非常多的线程来完成,每个线程的工作时间不长,就需要创建很多线程,工作完又立即销毁[线程频繁创建和销毁线程] 频繁创建和销毁线程非常消耗性能,那么线程池,就是可以创建一些线程,放在"池子"中,用的时候去池子取一个线…

RJ45网口链接器和PCB板结构再生产上需要注意那些方面

华强盛电子导读&#xff1a;工程技术前面199中间2643后面0038 关于网口和PCB板板结合插件会出现几个问题 ...网口的尺寸结构&#xff0c;PCB板板的孔位小&#xff0c;这里强调&#xff0c;建议孔位开大一点&#xff0c;便于生产插件方便。 在插件生产过程中&#xff0c;RJ45网…

免费批量自动校正图片、PDF文档方向工具

功能介绍&#xff1a;批量自动识别图片和PDF文档页面方向&#xff0c;并校正为正确阅读方向&#xff08;非倾斜纠偏&#xff09; jpg校正演示 #修复exif信息导致的jpg图像显示和实际旋转不一致问题 #增加图像DPI选项,优先原图或者固定DPI&#xff0c;但这些只会对产生旋转的图…

qss的border-image和background-image和background-coloor和color

如果你的图片和按钮一样大&#xff0c;譬如40X40&#xff0c;那么两者都可以。 如果你的图片和按钮不一样大&#xff0c;用border-image会填充或者拉伸缩放以自适应按钮。 background-image则不会。 所以一般情况下&#xff0c;使用border-image会更合适。 border-image&…

深度学习入门:卷积神经网络 | CNN概述,图像基础知识,卷积层,池化层(超详解!!!)

目录 &#x1f354; 前言 &#x1f354; 图像基础知识 1. 像素和通道的理解 2. 小节 &#x1f354; 卷积层 1. 卷积计算 2. Padding 3. Stride 4. 多通道卷积计算 5. 多卷积核卷积计算 6. 特征图大小 7. PyTorch 卷积层 API 7. 小节 &#x1f354; 池化层 1. 池…

openlayers+vite+vue3加载离线地图并实现初始化(一)

前景提示&#xff1a;本文主要讲解使用vite工具构建的项目&#xff0c;利用openlayers实现离线地图的主要一些功能&#xff0c;包括初始化地图、打点、画线、弹窗等等&#xff0c;这些后续有时间会持续为大家更新&#xff0c;本文主要阐述如何实现其首要功能离线地图的初始化。…

linux系统删除文件后,可用率没变,磁盘还是满的

linux系统磁盘清理排查 前言排查解决 前言 某天更新服务时&#xff0c;发现服务怎么也上传不了&#xff0c;原因是磁盘空间不足&#xff0c;这很简单&#xff0c;直接找到大文件删除rm -rf 即可&#xff0c;但是我删除之后&#xff0c;df -h 发现磁盘空间一点变化都没有&#…

Unity XR Interaction Toolkit 通过两个手柄控制物体放大缩小

1&#xff1a;给物体添加 XR General Grab Transformer 脚本 2&#xff1a;XR Grab Interactable 的 select mode 选择 Multiple

基于Burp爆破验证码

目录 基于Burp爆破验证码 一、验证码识别 二、爆破 1、访问登录请求并发送至intruder模块 2、访问验证码url并将截取的请求发送至captcha-killer模块 3、intruder模块设置 3、爆破结果 4、使用burp完成上述操作&#xff0c;存在以下问题&#xff1a; 基于Burp爆破验证码…

Transformer系列-6丨LRNet和Stand-Alone Self-Attention网络解析

0. 前言 本次主要分享之前看的两篇将自注意力机制self-attention应用在视觉感知任务的文章&#xff0c;分别为LRNet和Stand-alone self-attention。为了深化读者的理解&#xff0c;本文提供了较为详细的中文注释的代码。 首先了解一下这两篇文章的背景&#xff0c;其都是在Vi…

【CSP:202309-1】坐标变换(其一)(Java)

题目链接 202309-1 坐标变换&#xff08;其一&#xff09; 题目描述 求解思路 直接暴力模拟即可。 实现代码 import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner in new Scanner(System.in);int n, m;n in.nextInt();m in.…