力扣 LCR 020 回文子串 -Python

news/2024/9/24 15:18:41/

题目链接:LCR 020. 回文子串 - 力扣(LeetCode)

题目描述:

给定一个字符串 s ,请计算这个字符串中有多少个回文子字符串。

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

示例 1:

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

示例 2:

输入:s = "aaa"
输出:6
解释:6个回文子串: "a", "a", "a", "aa", "aa", "aaa"

题目思路:

回文子串是指从中间数为对称轴,左右两边数目相等且数值相同的一串数字

可以定义左右指针i和j

1.定义dp数组,dp[i][j]的含义是,从下标i到下标j的数是否是回文数

2.递推公式:当s[i]=s[j] 也就是当前左右对称指针相等时,判断内部是否为回文子串

       若 dp[ i + 1 ][ j - 1 ] 为True,则内部也为回文子串,那么dp[i][j]也为True,也为回文子串

       数量 result + 1 

3.初始化result = 0 ,dp数组初始化都为False,所以只判断是否为回文子串改为True即可

代码实现

class Solution(object):def countSubstrings(self, s):""":type s: str:rtype: int"""result = 0dp = [[False for _ in range(len(s))] for _ in range(len(s))]for i in range(len(s)-1,-1,-1):for j in range(i,len(s)):if s[i] == s[j]:if j - i <= 1:dp[i][j] = Trueresult += 1elif dp[i+1][j-1]:dp[i][j] = Trueresult += 1return result


http://www.ppmy.cn/news/1529863.html

相关文章

常见框架漏洞复现

1、Thinkphp5x远程命令执行及getshell 1、环境配置 靶场:vulhub/thinkphp/5-rce docker-compose up -d 2、漏洞利用 漏洞根本源于 thinkphp/library/think/Request.php 中method方法可以进行变量覆盖&#xff0c;通过覆盖类的核心属性filter导致rce&#xff0c;其攻击点较为…

828华为云征文 | 将Vue项目部署到Flexus云服务器X实例并实现公网访问

一、Flexus云服务器X实例简介 1.1 概述 华为云Flexus X实例是华为云推出的一款创新云服务器产品&#xff0c;它主要面向中小企业和开发者&#xff0c;旨在解决传统云服务中的痛点&#xff0c;提供更加灵活、高效的云服务体验。 华为深刻洞察了中小企业和开发者在云服务应用中遇…

3d可视化图片:通过原图和深度图实现

1、depthy 在线体验demo: https://depthy.stamina.pl/#/ 也可以docker安装上面服务: docker run --rm -t -i -p 9000:9000 ndahlquist/depthy http://localhost:90001)首先传原图 2)再传对应深度图 3)效果 </ifra

【系统架构设计师】专题:软件架构风格(详细知识点及历年真题)

更多内容请见: 备考系统架构设计师-核心总结索引 文章目录 1、软件架构风格概述2、数据流风格3、调用/返回风格4、仓库风格5、虚拟机风格6、独立构件风格7、闭环控制架构8、C2架构风格9、层次结构风格10、富互联网应用(RIA)11、面向服务的架构(SOA)1、软件架构风格概述 软…

vue复制信息到粘贴框

npm install vue-clipboard2main.js文件引入 import VueClipboard from vue-clipboard2 Vue.use(VueClipboard)页面应用 copyInfo(info){let that thislet copyData 项目名称&#xff1a;${info.projectName}\n 用户名&#xff1a;${info.username}\n 初始密码&#xff1a;${…

探索MemGPT:AI界的新宠儿

文章目录 探索MemGPT&#xff1a;AI界的新宠儿1. 背景介绍2. MemGPT是什么&#xff1f;3. 如何安装MemGPT&#xff1f;4. 简单的库函数使用方法5. 场景应用场景一&#xff1a;创建持久聊天机器人场景二&#xff1a;文档分析场景三&#xff1a;多会话聊天互动 6. 常见Bug及解决方…

Vue 内存泄漏分析:如何避免开发过程中导致的内存泄漏问题

一. 引言 Vue 作为一款流行的前端框架&#xff0c;已经在许多项目中得到广泛应用。然而&#xff0c;随着我们在 Vue 中构建更大规模的应用程序&#xff0c;我们可能会遇到一个严重的问题&#xff0c;那就是内存泄漏。内存泄漏是指应用程序在使用内存资源时未正确释放&#xff…

JZ2440开发板——S3C2440的UART

以下内容源于韦东山课程的学习与整理&#xff0c;如有侵权请告知删除。 一、UART硬件简介 UART&#xff0c;全称是“Universal Asynchronous Receiver Transmitter”&#xff0c;即“通用异步收发器”&#xff0c;也就是我们日常说的“串口”。 它在嵌入式中用途非常广泛&…