博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
No.54-leetcode647-统计回文子串数量
阅读量:4058 次
发布时间:2019-05-25

本文共 595 字,大约阅读时间需要 1 分钟。

区间dp:dp[L][R] 枚举L,枚举R,枚举划分,O(N^3),超时

状态压缩,字符串往往和起始点无关,

只要往后不断添加新字符即可。
压缩为dp[R],含义为必须以R结尾的回文串的数量

class Solution {public:    int countSubstrings(string s) {        int N = s.length();        int dp[N+1]; // dp[R] [0,R];        int flag[N+1][N+1]; // flag[L][R];        memset(dp,0,sizeof(dp));        memset(flag,0,sizeof(flag));        for(int r=0;r
=0;l--){ if(l+1 > r-1 && s[r] == s[l]) flag[l][r] = 1; else if(flag[l+1][r-1] && s[r] == s[l]) flag[l][r] = 1; dp[r] += flag[l][r]; } } int ans = 0; for(int i=0;i

转载地址:http://diwji.baihongyu.com/

你可能感兴趣的文章
堆排序完整版,含注释
查看>>
鹰蛋问题解析之动态规划
查看>>
查询求解概述读书笔记
查看>>
二叉树非递归先序遍历、中序遍历、后序遍历
查看>>
二叉树深度优先遍历和广度优先遍历
查看>>
生产者消费者模型,循环队列实现
查看>>
PostgreSQL代码分析,查询优化部分,process_duplicate_ors
查看>>
PostgreSQL代码分析,查询优化部分,canonicalize_qual
查看>>
PostgreSQL代码分析,查询优化部分,pull_ands()和pull_ors()
查看>>
ORACLE权限管理调研笔记
查看>>
移进规约冲突一例
查看>>
IA32时钟周期的一些内容
查看>>
一个简单的链表
查看>>
SM2椭圆曲线公钥密码算法
查看>>
获得github工程中的一个文件夹的方法
查看>>
《PostgreSQL技术内幕:查询优化深度探索》养成记
查看>>
PostgreSQL查询优化器详解之逻辑优化篇
查看>>
PostgreSQL查询优化器详解之物理优化篇
查看>>
小明学PostgreSQL : 自旋锁浅析
查看>>
《PostgreSQL技术内幕:查询优化深度探索》前言
查看>>