Golang Leetcode 516. Longest Palindromic Subsequence.go
时间:2022-06-19
本文章向大家介绍Golang Leetcode 516. Longest Palindromic Subsequence.go,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
版权声明:原创勿转 https://blog.csdn.net/anakinsun/article/details/89211057
思路
dp:方程表示从i到j的长度中,回文子串的长度 Base case: a ->dp[i][i]=1
case 1:s[i]==s[j] a*****a ->dp[i][j]=dp[i+1][j-1]+2
case 2:s[i]!=s[j] abb dp[i][j]=dp[i+1][i] aab dp[i][j]=dp[i][j-1]
code
func longestPalindromeSubseq(s string) int {
n := len(s)
dp := make([][]int, n)
for k := range dp {
dp[k] = make([]int, n)
}
for l := 1; l <= n; l++ {
for i := 0; i <= n-l; i++ {
j := i + l - 1
if i == j {
dp[i][j] = 1
continue
}
if s[i] == s[j] {
dp[i][j] = dp[i+1][j-1] + 2
} else {
dp[i][j] = mymax(dp[i+1][j], dp[i][j-1])
}
}
}
return dp[0][n-1]
}
func mymax(x, y int) int {
if x > y {
return x
}
return y
}
- MySQL中的undo截断(r11笔记第89天)
- Linux系统 df 命令显示异常、分区丢失问题解决
- MySQL主从、字典死锁、连接数的Python监控脚本
- MySQL Online DDL(二)(r11笔记第88天)
- 转-Android上面运行golang
- Golang适合高并发场景的原因分析
- 浅谈MySQL中的事务隔离级别(r11笔记第86天)
- 巧用echo命令解决Samba批量添加用户难题
- 分分钟搭建MySQL Group Replication测试环境(r11笔记第82天)
- MySQL 5.7 Group Replication错误总结(r11笔记第84天)
- 空结构体struct{}解析
- 动态创建MySQL Group Replication的节点(r11笔记第84天)
- sysbench压测小记(r11笔记第99天)
- WordPress启用memcached动态缓存以及报错解决
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- JUnit 注解@SuiteClasses的工作原理
- 使用SAP CRM Mock framework进行单元测试
- ABAP Debugging Script(调试器脚本)使用的一些实际例子
- MySQL 8.0新特性 — 事务性数据字典与原子DDL
- Python基础之面向对象-继承
- [源码分析]ArrayList和LinkedList如何实现的?我看你还有机会!
- 使用Python实现平台自动打卡
- QT学习第4天:qt点击鼠标画一条直线(附源代码和程序)
- 跨站请求伪造——CSRF
- 13-6 编辑多个文件和保存
- 汇编基础
- php 使用AMQP扩展调用RabbitMq
- 聊聊RedisTokenVisitor
- R语言几行代码拼接pdf文件
- 一次 Redis 分布式锁事故,整个项目组被扣绩效了。。。