python 刷题篇(4)---- 回文子串 leetcode 647

在每一次做题的时候,都是需要判断每一个算法题的时间复杂度和空间复杂度的。因为在实际的面试中,很有可能会需要分析算法题的最优解。而最优解无非就是从空间和时间两个维度进行优化。面试官出一道题时,可能更想了解的是最优解。通常时间复杂度: n 2 n^{2} n2,空间复杂度: n 2 n^{2} n2等。可能并不是面试官想要的解法。
紧接着上文:python 刷题篇(3)---- 分割回文串 leetcode131
这一章节我们将继续探讨回文串问题。问题描述:
给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。
具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。

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

最常规的解法是使用二维数组维护一个区间的动态规划,维护是否是回文或者是回文串有多少个。但是由于维护的是二维数组,因此空间复杂度会有所提高。这里时间复杂度: n 2 n^{2}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值