leetcode647. 回文子串_leetcode 647-程序员宅基地

技术标签: leetcode算法题解  

题目大意

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

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

示例 1:

输入: "abc"
输出: 3
解释: 三个回文子串: "a", "b", "c".

示例 2:

输入: "aaa"
输出: 6
说明: 6个回文子串: "a", "a", "a", "aa", "aa", "aaa".

解题思路

动态规划,判断s[i]~s[j]是否是回文串,如果是回文串,res++。

class Solution {
    
public:
    int countSubstrings(string s) {
    
    	if (s.size() < 2)
    		return s.size();

    	int length = s.size();
    	vector<vector<bool>> dp(length, vector<bool>(length, false));
    	int res = 0;

    	for (int i = length - 1; i >= 0; --i){
    
    		for(int j = i; j < length; ++j){
    
    			if (i == j)
    				dp[i][j] = true;
    			else if (i + 1 == j)
    				dp[i][j] = s[i] == s[j];
    			else
    				dp[i][j] = (dp[i + 1][j - 1] && s[i] == s[j]);
    			if (dp[i][j])
    				++res;
    		}
    	}
    	return res;
    }
};
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_41092190/article/details/106856998

智能推荐

wordpress 添加自定义字段到 文章_wordpass 数据库 增加字段-程序员宅基地

文章浏览阅读2.8k次。$my_post = array( 'post_title' => $publication_name, 'post_excerpt' => $publication_name, 'post_date' => '2019-04-30 09:00:00', 'post_date_gmt' => '2019-04-30 09:..._wordpass 数据库 增加字段

【微服务】springboot 多模块打包使用详解_springboot 打包-程序员宅基地

文章浏览阅读3.9k次。项目打包是项目进行服务器部署的最后一关,对于一个springboot项目来说,功能开发完成后,需要将代码编译、打包、并部署到服务器上进行验证和测试,以maven为例,使用大家熟悉的mvn命令即可完成本地的打包构建,但事实上真的这么简单吗?以Java项目的工程模块为例进行说明,从早期的前后端一个工程搞定,到今天普遍使用的前后端分离的模式,从早期流行的承载式tomcat容器部署到如今更简洁的jar包部署,不同的事情,不同的工程部署模式,也为项目在最终打包构建的模式上带来了不同的变化。_springboot 打包

mysql5.5.50安装图解_mysql5.5的安装步骤-程序员宅基地

文章浏览阅读135次。好久没有安装mysql了,今天装了下,还有点不流畅,把详细的安装的流程写下来~,后续把mysql日常操作都写成checklist1.创建mysql组和mysql用户groupadd mysqluseradd -g mysql mysql2.创建相关的目录(根据自己的规则设置目录)mkdir/data/dbdata/usr/local/mysql/usr/local/mysql/tmp或者(推荐使用..._mysql5.5.50安装

简单的微博发布程序_请设计并实现一个简易的微博系统,让用户可以发送推文-程序员宅基地

文章浏览阅读625次。能实现简单的上传和删除,以及显示发布的时间。主要是先创建个文本节点,然后将所要发布的信息追加在文本节点上。代码实现<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"&g..._请设计并实现一个简易的微博系统,让用户可以发送推文

futureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is-程序员宅基地

文章浏览阅读1k次。完整报错:FutureWarning: Conversion of the second argument of issubdtype from float to np.floating is deprecated. In future, it will be treated as np.float64 == np.dtype(float).type. from ._conv impo..._conversion of the second argument of issubdtype from int to np

abap创建或更新成本中心时如何写入附加自定义字段_bapi_billingdoc_createmultiple 添加附加字段-程序员宅基地

文章浏览阅读1k次。1、创建成本中心bapi:    BAPI_COSTCENTER_CREATEMULTIPLE2、更新成本中心bapi:    BAPI_COSTCENTER_CHANGEMULTIPLE大家在创建或更新成本中心时,有时需要写入自定义的附加字段,例如:但是bapi里costcenterlist参数是没有对应字段的,所以需要在bapi的extensionin参数里添加附加字段即可,此时如果还是没有添加成功,那需要在se18增强K_CCA_CUSTOMER_FIELD里给附加字段赋值。通过SE18_bapi_billingdoc_createmultiple 添加附加字段

随便推点

【转】前端学习方法总结-程序员宅基地

文章浏览阅读67次。原文出处qu deqing结合个人经历总结的前端入门方法,总结从零基础到具备前端基本技能的道路、学习方法、资料。由于能力有限,不能保证面面俱到,只是作为入门参考,面向初学者,让初学者少走弯路。互联网的快速发展和激烈竞争,用户体验成为一个重要的关注点,导致专业前端工程师成为热门职业,各大公司对前端工程师的需求量都很大,要求也越来越高,优秀的前端工程师更是稀缺。个人感觉前端入门相对容易,但是也...

FPGA 外置Flash的读写,用户数据存储_fpga将图片存储到flash中-程序员宅基地

文章浏览阅读1w次,点赞10次,收藏117次。FPGA 外置Flash的读写,用户数据存储前言一,该功能验证平台及参考文章1,Xilinx xc7k325tffg676-22,vivado 2017.43,验证的flash芯片:MT25QL2563,参考文章:MT25QL256_datasheet二、实现的功能1,read Device ID2,设置4-byte模式5,flash的数据读写三,部分代码总结前言大多数FPGA内部不具有掉电存储程序的功能,所以都是外置flash存储器来存储程序,上电后加载flash中的程序到FPGA中,在运行。外置f_fpga将图片存储到flash中

aardio(GBK汉字转UTF8汉字)获取的字符串代码乱码的解决方法-程序员宅基地

文章浏览阅读94次。aardio(GBK汉字转UTF8汉字)获取的字符串代码乱码的解决方法

基于 Matlab 的通信系统仿真――数字通信大作业_电子通信系统课程大作业-程序员宅基地

文章浏览阅读9.2k次,点赞7次,收藏144次。基于 Matlab 的通信系统仿真――数字通信大作业附:MATLAB的通信系统仿真.rar资源包括:main.m,modulation.m,demodulation.m,MATLAB的通信系统仿真说明文档https://download.csdn.net/download/alongiii/14945669目录基于 Matlab 的通信系统仿真――数字通信大作业系统综述结构框图系统实现随机信号的生成星座图映射插值波形成形(平方根升余弦滤波器)10 倍载波调制加入高斯白噪声匹配滤波器采样判决解调误码率_电子通信系统课程大作业

OnTriggerEnter与OnCollisionEnter详解_ontriggerenter和oncollision-程序员宅基地

文章浏览阅读2.2k次。1,测试OnTriggerEnter和OnCollisionEnter的区别测试:如果两个物体A,B两者都有碰撞体collider(Box Collider,Sphere Collider,Capsule Collider等)A,B都有刚体(Rigidbody)A或者B中有一个勾选isTrigger或者两者都勾选isTriggerA和B都可以进入OnTriggerEnter方法,但是不可进入OnCollisionEnter方法。A和B都不勾选isTrigger,A和B能进入OnCollis_ontriggerenter和oncollision

Docker Machine快速安装Docker环境(二)_setting docker configuratin on the remote-程序员宅基地

文章浏览阅读7.4k次,点赞3次,收藏7次。什么是Docker Machine?Machine是一个简化安装Docker环境的工具。怎么简化法,例如,在ubuntu安装一个docker环境要按照U这个系统配置教程来装,哪天又换了CentOS系统,又要按照这个系统配置教程装。市场上主流Linux系统版本很多,每次安装岂不有些麻烦。使用Machine工具就简单很多,一两条命令即可在主流Linux系统上安装Docker环境,用户不用考虑什么操_setting docker configuratin on the remote