PIQ07: Longest Palindromic Subsequence
来源:互联网 发布:滨州行知中学官网 编辑:程序博客网 时间:2024/05/01 15:13
Problem Statement
Given a string S, Find the length of the longest palindromic subsequence.
Approach 1
Reverse S to T, then make use of the Longest Common Subsequence algorithm.
Approach 2
Dynamic programming.
def longest_palindromic_subsequence(s): if not s: return 0 n = len(s) lps_len = 0 dp = [[0 for i in xrange(n)] for j in xrange(n)] for i in xrange(n): dp[i][i] = 1 for i in xrange(n - 1): if s[i] == s[i + 1]: dp[i][i + 1] = 2 lps_len = max(lps_len, dp[i][i + 1]) else: dp[i][i + 1] = 1 for length in xrange(3, n + 1): for start in xrange(n - length + 1): end = start + length - 1 if s[start] == s[end]: dp[start][end] = 2 + dp[start + 1][end - 1] else: dp[start][end] = max(dp[start + 1][end], dp[start][end - 1]) lps_len = max(lps_len, dp[start][end]) return lps_len
Analysis:
0 0
- PIQ07: Longest Palindromic Subsequence
- Longest Palindromic Subsequence
- leetcode_middle_42_516. Longest Palindromic Subsequence
- 516. Longest Palindromic Subsequence
- 516 Longest Palindromic Subsequence
- 516. Longest Palindromic Subsequence
- 516. Longest Palindromic Subsequence
- Longest Palindromic Subsequence
- 516. Longest Palindromic Subsequence
- Lettcode_516. Longest Palindromic Subsequence
- 516. Longest Palindromic Subsequence
- 516. Longest Palindromic Subsequence
- leetcod_516. Longest Palindromic Subsequence
- Longest Palindromic Subsequence
- leetcode516. Longest Palindromic Subsequence
- 516. Longest Palindromic Subsequence
- Longest Palindromic Subsequence
- 【516】 Longest Palindromic Subsequence
- 《吴中田妇叹》和《江城子.别徐州》
- JPA是什么?他和Hibernate什么关系?
- 获取文件夹下的文件和文件夹
- Angular $location 获取 url 参数
- RecyclerView实现瀑布流
- PIQ07: Longest Palindromic Subsequence
- HDU - 2066 floyd水题
- 树莓派无法开机,实际是屏幕点不亮!
- jeb2 java 脚本插件
- python json.dumps() json.dump()的区别
- Rx1.5 + retorfit2.1 简单使用
- oracle decode函数使用方法
- wifidog中的wdctl命令
- STM8外部引脚中断EXTI配置后,系统不断进入中断的问题