当前位置: 首页 > news >正文

清远市网站建设福田网站建设联系电话

清远市网站建设,福田网站建设联系电话,wordpress groupon,网站内链建设的方法给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目。 回文字符串 是正着读和倒过来读一样的字符串。 子字符串 是字符串中的由连续字符组成的一个序列。 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不…

给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目。

回文字符串 是正着读和倒过来读一样的字符串。

子字符串 是字符串中的由连续字符组成的一个序列。

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

示例 1:

输入:s = “abc”
输出:3
解释:三个回文子串: “a”, “b”, “c”
示例 2:

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

提示:

1 <= s.length <= 1000
s 由小写英文字母组成

计算有多少个回文子串的最朴素方法就是枚举出所有的回文子串,而枚举出所有的回文字串又有两种思路,分别是:

  • 枚举出所有的子串,然后再判断这些子串是否是回文;

  • 枚举每一个可能的回文中心,然后用两个指针分别向左右两边拓展,当两个指针指向的元素相同的时候就拓展,否则停止拓展。

假设字符串的长度为 n。我们可以看出前者会用 O ( n 2 ) O(n^2) O(n2) 的时间枚举出所有的子串 s [ l i . . . r i ] s[l_i...r_i] s[li...ri], 然后再用 O ( r i − l i + 1 ) O(r_i - l_i + 1) O(rili+1) 的时间检测当前的子串是否是回文,整个算法的时间复杂度是 O ( n 3 ) O(n^3) O(n3)。而后者枚举回文中心的是 O ( n ) O(n) O(n) 的,对于每个回文中心拓展的次数也是 O ( n ) O(n) O(n)的,所以时间复杂度是 O ( n 2 ) O(n^2) O(n2)。所以我们选择第二种方法来枚举所有的回文子串。

在实现的时候,我们需要处理一个问题,即如何有序地枚举所有可能的回文中心,我们需要考虑回文长度是奇数和回文长度是偶数的两种情况。如果回文长度是奇数,那么回文中心是一个字符;如果回文长度是偶数,那么中心是两个字符。

class Solution:def countSubstrings(self, s: str) -> int:n = len(s)ans = 0for i in range(n):#奇数长度ans += 1l, r = i - 1, i + 1while l > -1 and r < n:if s[l] == s[r]:ans += 1else:breakl -= 1r += 1#偶数长度if (i + 1) < n and s[i] == s[i+1]:ans += 1l, r = i - 1, i + 2while l > -1 and r < n:if s[l] == s[r]:ans += 1else:breakl -= 1r += 1return ansif __name__ == '__main__':s = Solution()print(s.countSubstrings("abc"))print(s.countSubstrings("aaa"))

复杂度分析

  • 时间复杂度: O ( n 2 ) O(n^2) O(n2)
  • 空间复杂度: O ( 1 ) O(1) O(1)

复杂度更低的方法参考:https://leetcode.cn/problems/palindromic-substrings/solution/hui-wen-zi-chuan-by-leetcode-solution/

http://www.yayakq.cn/news/27161/

相关文章:

  • 网站开发背景策划书个人主页免费
  • 有没有免费做企业网站的少儿编程哪个品牌好
  • 泉州市建设局网站广东网站建设制作价格
  • 做网站的怎么认证微博网站安全建设目的是什么
  • 做夜夜做网站营销型网站建设新感觉建站
  • php mysql开发的网站开发做qq主题的网站
  • 公司网站备案要多久大连网站排名推广
  • 微山建设局网站生物科技 网站模板
  • 北京做网站优化的公司沈阳市建设工程管理中心
  • 珠海网站制作专业建筑书店
  • php做的卖水果网站公众号如何推广引流
  • 网站制作手机网页设计规范有哪些
  • 品牌建设网站规划外贸网站制作哪家快
  • 潍坊 网站企划详情页设计逻辑
  • 网站建设 管理与维护试题个人做网站给手机发短信
  • 有模块传奇网站怎么做网站建设思维
  • 电商网站建设心得体会网站免费打包
  • 建设营销型网站的原因公司网站建设的会计分录
  • gif表情包在线制作网站呼和浩特建设厅网站
  • 访问最多技术网站排名公司简介模板免费如何写
  • 怎样用手机搭建网站wordpress ftp附件
  • 给公司做网站 优帮云wordpress扫光
  • 网站专栏怎么做漂亮企业网站建设的好处
  • 没技术怎么做网站网店装修网站
  • 关于申请网站建设经费的请示湖南省建设厅易晓林
  • 柏枫谈做网站都需要学什么手写logo设计
  • 找人做网站属于了解些什么呢大连市工程建设信息网
  • wordpress站点链接打不开网址深圳坪山网站制作公司
  • 商城网站的建设怎么做网站内部链接
  • 计算机网站开发项目设计师作品集网站