力扣 LCR 020 回文子串 -Python

embedded/2024/9/24 4:02:43/

题目链接: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/embedded/115893.html

相关文章

网页通知设计灵感:CSS 和 JS 的 8 大创意实现

文章目录 前言正文1.霓虹灯风格的通知系统2.垂直时间轴通知3.动画徽章通知4.项目式通知5.多种状态通知&#xff1a;成功、错误、警告6.信息、警告、提示组件7.扁平化风格通知8.社交媒体风格弹出通知 总结 前言 网页通知如今已成为电商、社交平台等网站的常见功能&#xff0c;它…

苹果为什么不做折叠屏手机?

苹果为什么不做折叠屏手机&#xff1f;折叠屏手机在最近这些年里边&#xff0c;可以说是市场的一个主要在手机上的增长点。你像华W最近推出这个三折叠手机&#xff0c;引起了整个市场的轰动。 可是&#xff0c;为什么苹果到今天为止不为所动&#xff0c;还在那不停地在现在的这…

JIT(Just-In-Time Compilation)编译器及其原理实现

什么是JIT编译器&#xff1f; JIT编译器是一种特殊的编译器&#xff0c;它在程序运行期间动态地将字节码&#xff08;Bytecode&#xff09;转换为机器码。这种转换发生在程序执行时&#xff0c;而不是在程序启动之前。JIT编译器的主要目的是提高程序的执行速度和效率&#xff…

lora 微调3B模型微调前有5G 量化f16 后最后导出模型容量变小了只有2G了,为什么?

环境&#xff1a; lora 微调 问题描述&#xff1a; lora 微调3B模型微调前有5G 量化f16 后最后导出模型容量变小了只有2G了&#xff0c;为什么&#xff1f; 解决方案&#xff1a; 在使用LoRA&#xff08;Low-Rank Adaptation&#xff09;对大语言模型&#xff08;例如一个…

ELK企业级日志分析系统

目录 一、ELK简介 1.1 ELK概述 二、Elasticsearch简介 2.1 核心功能 2.2 架构与组件 2.3 使用场景 2.4 Elasticsearch特点与缺点 三、Logstash简介 3.1 主要特点 1、数据收集&#xff1a; 2、数据处理&#xff1a; 3、数据输出&#xff1a; 4、可扩展性&#xff1a; 5、…

安卓Settings值原理源码剖析存储最大的字符数量是多少?

背景&#xff1a; 平常做rom相关开发时候经常需要与settings值打交道&#xff0c;需要独立或者存储一个settings的场景&#xff0c;群里有个学员朋友就问了一个疑问&#xff0c;那就是Settings的putString方式来存储字符&#xff0c;那么可以存储的最大字符是多少呢&#xff1…

用最通俗易懂的语言和例子讲解三维点云

前言&#xff1a; 我整体的学习顺序是看的按B站那“唯一”的三维点云的视频学习的&#xff08;翻了好久几乎没有第二个...&#xff09;对于深度学习部分&#xff0c;由于本人并没有进行学习&#xff0c;所以没有深究。大多数内容都进行了自己的理解并找了很多网络的资源方便理解…

时序数据库 TDengine 的入门体验和操作记录

时序数据库 TDengine 的学习和使用经验 什么是 TDengine &#xff1f;什么是时序数据 &#xff1f;使用RPM安装包部署默认的网络端口 TDengine 使用TDengine 命令行&#xff08;CLI&#xff09;taosBenchmark服务器内存需求删库跑路测试 使用体验文档纠错 什么是 TDengine &…