【DP】516. Longest Palindromic Subsequence

[leetCode-516Longest Palindromic Subsequence]最长回文子序列DP算法详解 一、题目描述 问题较为简单,给定一个字符串,如"aasasbc",计算出该字符串中最长的回文子序列长,即为"aaa"的长度3,回文子序列是指顺序和倒序均为同一个字符串的序列,另外,要求所输入的字符串长度不大于1000。 二、思路解析 分治算法去解决这道题是第一思路,即对于一个长度为n的字符串,对应于一个分治算法的状态数组dp[n-1][n-1],该数组的值对应字符串中最长回文子序列的长度,如 阅读详情
摘自csdn博客:

1. 子问题的解如何表达?

给定一个字符串,子问题是:任意一个该字符串的子串包含的回文串的长度,那么对于这个字符串的子串,我们可以用它在原字符串中的起始位置和结束位置来表示。因此,我们可以用一个二维数组来对子问题进行表示,dp[i][j]表示he longest palindromic subsequence's length of substring(i, j)。

2. 大问题如何用子问题来表示?

dp[i][j] = dp[i+1][j-1] + 2 if s.charAt(i) == s.charAt(j)
otherwise, dp[i][j] = Math.max(dp[i+1][j], dp[i][j-1])

Initialization: dp[i][i] = 1


class Solution {
public:
    int longestPalindromeSubseq(string s) {
        if(s.size()==0)
            return 0;
        int table[s.size()][s.size()]={0};
        for(int i=0;i<s.size();i++)
            table[i][i]=1;
        
        for(int i=s.size()-1;i>=0;i--)
        {
            for(int j=i+1;j<s.size();j++)
            {
                if(s[i]==s[j])
                    table[i][j]=2 + table[i+1][j-1];
                else
                    table[i][j]=max(table[i+1][j],table[i][j-1]);
                
            }
        }
        return table[0][s.size()-1];
    }
};

离线安装 nvidia-docker2(nvidia-container-toolkit) 很多时候大家都有用docker使用gpu的需求,但是因为网络等原因不是那么好用,这里留了一个给ubuntu的安装包,网络好的话也提供了在线安装方式。 阅读详情

相关推荐

电力工程师必看:GOOSE/SV/MMS三协议在智能变电站中的分工与联动实例

本文深入解析了智能变电站中GOOSE、SV、MMS三大核心通信协议的分工与协同机制。GOOSE协议作为过程层的“闪电信使”,负责毫秒级传输跳闸命令等事件信息;SV协议则传输精确同步的电流电压采样值流;而MMS协议作为站控层的“管理语言”,实现设备监控与数据管理。三者基于IEC 61850标准,在过程层、间隔层和站控层之间高效联动,共同构建了智能变电站稳定可靠的通信骨架。

jj890的博客 370

516. Longest Palindromic Subsequence (DP)

Here we have two solutions. Both are DP. The first solution is quite smart and difficult to think of. Basically, you just need to reverse the string, and then find the longest common subsequence. The reason is a palindromic string is the same as it is

weixin_58286631的博客 155

安卓ai自动化脚本 Yyds.Auto实现 示例 纯ai图像识别自动点击脚本

纯ai识别实现自动化脚本

专注安卓前沿科技 4785

516. Longest Palindromic Subsequence [Medium] DP最长回文

516. Longest Palindromic Subsequence class Solution(object): def longestPalindromeSubseq(self, s): """ :type s: str :rtype: int """ ...

qq_35319215的博客 100

C语言新手必练:10个实战小项目带你快速上手(附完整代码)

本文为C语言初学者精选10个实战项目,从基础的温度转换器到高级的迷宫求解算法,涵盖输入输出、条件判断、循环控制、数组操作等核心知识点。每个项目配有完整代码和详细解析,帮助新手通过实践掌握编程思维,特别适合刚学完语法但缺乏实战经验的学习者。

weixin_29208077的博客 751

STM32F103 串口DMA + 空闲中断 实现不定长数据收发

文章目录1. 空闲中断1.1 uart_dma.c1.2 uart_dma.h1.3 main.c1.4 stm32f10x_it.c1.5 效果演示1.6 知识补充1.6.1 外设的基地址     DMA(Direct Memory Access,直接存储器访问) 是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依赖于 CPU 的大量中断负载。否则,CPU 需要从来源把每一片段的资料复制到暂存器,然后把它们再次写回到新的地方。在这个时间中,CPU

夏夜晚风_的博客 3万+

[DP]516. Longest Palindromic Subsequence

题目: Given a string s, find the longest palindromic subsequence's length in s. You may assume that the maximum length of s is 1000. Example 1: Input: "bbbab" Output: 4 One possible longest

Rewind_L的博客 470

DASH 流媒体协议(Dynamic Adaptive Streaming over HTTP)概述——起源、MPD文件解析、相关项目

简单介绍DASH的起源与发展、MPD文件简要解析、相关项目,以及常见流媒体协议的比较

farewellyi的博客 6893

LeetCode:516. Longest Palindromic Subsequence(DP)

Given a string s, find the longest palindromic subsequence's length in s. You may assume that the maximum length of s is 1000. Example 1: Input: "bbbab" Output: 4 One possible longest palindr...

呦呦鹿鸣的博客 182

001-基础入门-Web演示源码&资源&工具箱等

小迪安全2023笔记

wushangyu32335的博客 4269

SUMO仿真教程(5) —— 使用“XML“语言自定义构建路网

文章目录一.简要介绍1.node file2.edge file3.lane definitions(1)路段细分(2)邻近的对向车道(3)删除边或车道4.type file(1)简要概述(2)edge定义中引用type文件的示例(3)指定车辆种类的速度限制5.connections file(1)简要概述:(2)connection的属性参数(3)删除连接(4)设置连接的优先级(5)同一边的多个连接二.演示示例:1.自定义编写node file2.自定义编写edge file3.自定义编写type fil

weixin_50632459的博客 5018

Leetcode 516 - Longest Palindromic Subsequence(dp)

题意给定一个字符串,找最长回文子序列。思路今天好像刚加的新题?花了2min切掉了。 状态表示:d[i,j]d[i, j],区间[i, j]的最长回文子序列。转移方程: si==sjs_i == s_j: d[i,j]=d[i+1,j−1]+2d[i, j] = d[i + 1, j - 1] + 2 si≠sjs_i \neq s_j: d[i,j]=max(d[i+1,j],d[i,j−1])d

博客已迁移至:lzed.github.io 384

C#调用opencv的dll

opencv算法和界面配合,刚入职的时候尝试过,利用的MFC,调试起来很痛苦。 后来基本都没怎么用界面,DOS的黑窗口,opencv自带的显示界面及滑动条凑合着调试用。 最近有点时间,刚好双十一在一个视觉群里看到了一个讲C#调用opencv的dll的课程,鉴于群主也是那门课的讲师,在平时解答群员的问题的时候很细心,能力也很强,因此有了这篇文章。 根据相机不同动态调用相机默认的属性...

Learning by doing 2976

【DP】最长回文字串【516. Longest Palindromic Subsequence】

题目链接:https://leetcode.com/problems/longest-palindromic-subsequence/#/description class Solution { public: int longestPalindromeSubseq(string s) { int len=s.size(); // 创建一个二维数组,指定

wlxsq的专栏 359

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

leetcode 516. Longest Palindromic Subsequence (DP)

Given a string s, find the longest palindromic subsequence's length in s. You may assume that the maximum length of s is 1000. Example 1: Input: "bbbab" Output: 4 One possible longest palind

showerGG的博客 202

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

leetcode 516. Longest Palindromic Subsequence 最长回文子序列 + DP动态规划

Given a string s, find the longest palindromic subsequence’s length in s. You may assume that the maximum length of s is 1000.Example 1: Input:“bbbab” Output: 4 One possible longest palindromic sub

JackZhangNJU的专栏 861

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

leetcode 516. Longest Palindromic Subsequence | 516. 最长回文子序列(递归 -> 傻缓存 ->DP)

题目 https://leetcode.com/problems/longest-palindromic-subsequence/ 题解 1、递归(超时) 递归 -> 傻缓存 ->DP class Solution { public int longestPalindromeSubseq(String s) { if (s.length() == 0) return 0; return process(s, 0, s.length() - 1);

寒泉 4万+

[Leetcode] 5. Longest Palindromic Substring 和 [Leetcode] 516. Longest Palindromic Subsequence 最长回文子序

目录 1、[Leetcode] 5. Longest Palindromic Substring (1)、问题描述 (2)、思路分析 (3)、Java代码 2、[Leetcode] 516. Longest Palindromic Subsequence (1)、 问题描述 ​​​​​​ (2)、 思路分析 (3)、 Java代码 1、[Leetcode] 5. Longe...

qq_29545781的博客 662

LeetCode //C - 516. Longest Palindromic Subsequence

【代码】LeetCode //C - 516. Longest Palindromic Subsequence。

Made in Code 750

516. Longest Palindromic Subsequence

516. Longest Palindromic Subsequence方法1: DP思路:code https://www.youtube.com/watch?v=_nCsPn7_OgI Given a string s, find the longest palindromic subsequence’s length in s. You may assume that the maximum...

wilzxu的博客 224

LeetCode-Longest Palindromic Subsequence

文章目录Longest Palindromic Subsequence题目描述思路分析C++实现Scala实现 版权声明:本文为博主原创文章,转载请注明原文出处! 写作时间:2019-02-10 11:44:52 Longest Palindromic Subsequence 题目描述 这是LeetCode的第516道题目:516. Longest Palindromic Subsequence。...

给永远比拿愉快 1319

leetcode 516 Longest Palindromic Subsequence

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Ma...

daniel_hh的博客 264

647. Palindromic Substrings 516. Longest Palindromic Subsequence

【代码】647. Palindromic Substrings 516. Longest Palindromic Subsequence。

Fai_B的博客 1213

leetcode -- 516. Longest Palindromic Subsequence【角度,问题的递推表示,数据结构】

题目 Given a string s, find the longest palindromic subsequence's length in s. You may assume that the maximum length of s is 1000. Example 1: Input: "bbbab" Output: 4 One possible longest p

课桌 2128
上一篇: 【DP】647. Palindromic Substrings
下一篇: 【位运算】338. Counting Bits
云水谣CS
博客等级 码龄9年 8粉丝 268原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值