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

网站设计怎么边加载变查看个人网站报价

网站设计怎么边加载变查看,个人网站报价,wordpress 几百万数据,石家庄网络seo推广目录 题目 思路 步骤 字符串: "abcba" 中心点 i0 (字符 a) 中心点 i1 (字符 b) 中心点 i2 (字符 c) 中心点 i3 (字符 b) 中心点 i4 (字符 a) 总结计算 时间和空间复杂度 题目 647. 回文子串 - 力扣(LeetCode) 思路 中心扩展算法是…

目录

题目

思路

步骤

字符串: "abcba"

中心点 i=0 (字符 'a')

中心点 i=1 (字符 'b')

中心点 i=2 (字符 'c')

中心点 i=3 (字符 'b')

中心点 i=4 (字符 'a')

总结计算

时间和空间复杂度


题目

647. 回文子串 - 力扣(LeetCode)

思路

中心扩展算法是寻找回文串的一种直观方法,基于以下观察:

  • 每个回文串都有一个"中心"
  • 从中心向两边扩展,如果两边字符相同,则形成更长的回文串

回文串的两种类型

奇数长度回文串:中心是单个字符

  • 例如:"aba" 中心是 'b'
  • 扩展过程:'b' → 'aba'

偶数长度回文串:中心是两个相邻字符之间的位置

  • 例如:"abba" 中心是 'b' 和 'b' 之间
  • 扩展过程:'bb' → 'abba'

步骤

遍历所有可能的中心点:

  • 对于长度为n的字符串,共有2n-1个可能的中心点
  • n个字符可以作为奇数长度回文串的中心
  • n-1个字符间隙可以作为偶数长度回文串的中心

对每个中心点,尝试扩展:

  • 从中心开始,向两边同时扩展
  • 只要两边的字符相同,就继续扩展
  • 每次成功扩展都找到一个新的回文子串

统计所有回文子串:

  • 对所有中心点扩展的结果求和

过程

字符串: "abcba"

中心点 i=0 (字符 'a')

奇数长度扩展 (left=0, right=0):

[a] b c b a^
  • 'a' 是回文串,count=1
  • 尝试扩展到 (-1,1),左侧越界,停止

偶数长度扩展 (left=0, right=1):

a [b] c b a
^ ^
  • 'a'和'b'不同,不是回文串,count=0

中心点 i=1 (字符 'b')

奇数长度扩展 (left=1, right=1):

a [b] c b a^
  • 'b' 是回文串,count=1
  • 尝试扩展到 (0,2
[a b c] b a^   ^
  • 'a'和'c'不同,不是回文串,停止

偶数长度扩展 (left=1, right=2):

a b [c] b a^ ^
  • 'b'和'c'不同,不是回文串,count=0

中心点 i=2 (字符 'c')

奇数长度扩展 (left=2, right=2):

a b [c] b a^
  • 'c' 是回文串,count=1
  • 尝试扩展到 (1,3)
a [b c b] a^   ^
  • 'b'和'b'相同,是回文串,count=2
  • 尝试扩展到 (0,4)

偶数长度扩展 (left=2, right=3):

a b c [b] a^ ^
  • 'c'和'b'不同,不是回文串,count=0

中心点 i=3 (字符 'b')

奇数长度扩展 (left=3, right=3):

a b c [b] a^
  • 'b' 是回文串,count=1
  • 尝试扩展到 (2,4)
a b [c b a]^   ^
  • 'c'和'a'不同,不是回文串,停止

偶数长度扩展 (left=3, right=4):

a b c b [a]^ ^
  • 'b'和'a'不同,不是回文串,count=0

中心点 i=4 (字符 'a')

奇数长度扩展 (left=4, right=4):

a b c b [a]^
  • 'a' 是回文串,count=1
  • 尝试扩展到 (3,5),右侧越界,停止

偶数长度扩展 (left=4, right=5):

  • 右侧越界,count=0

总结计算

总回文子串数量 = 1 + 0 + 1 + 0 + 3 + 0 + 1 + 0 + 1 + 0 = 7

这7个回文子串是:

  1. "a" (i=0)
  2. "b" (i=1)
  3. "c" (i=2)
  4. "bcb" (i=2)
  5. "abcba" (i=2)
  6. "b" (i=3)
  7. "a" (i=4)

时间和空间复杂度

  • 时间复杂度: O(n²)
  • 有 O(n) 个中心点
  • 每个中心点最多扩展 O(n) 次
  • 空间复杂度: O(1)
  • 只使用了常数额外空间

正确写法

class Solution {
public:int countSubstrings(string s) {int result = 0;for(int i = 0; i<s.size();i++){result = result + dfs(s,i,i); //奇数的时候result = result + dfs(s,i,i+1); //偶数的时候}return result;}int dfs(string& s,int left, int right){int count = 0;while(left >= 0 && right <s.size() &&s[left] == s[right]){left--;right++;count++;}return count;}
};
http://www.dtcms.com/wzjs/536262.html

相关文章:

  • 国家住房和城乡建设厅网站wordpress数据统计
  • 广东基层团组织建设部网站网站设计制作的介绍
  • 推荐几个安全免费的网站wordpress模版做网页
  • 青岛网站建设运营wordpress放置html
  • 营销型网站设计案例学做网站的书哪些好
  • 河源市连平县建设局网站深圳外贸集团
  • 简约网站建设公司友情链接交换软件
  • 清河网站建设设计广告设计与制作包括哪些
  • wordpress可视化建站网站空间怎么登陆
  • 建设联结是不是正规网站蚌埠注册公司
  • 啤酒网站建设安康网站建设公司
  • 域名网站怎么做的郑州网站排名分析
  • 英文站网站源码阿里巴巴做网站找谁
  • 成品网页抚州seo排名
  • 太原网站制作定制开发支付网站建设费
  • 自己画户型图的app优化大师官方
  • 内网网站建设的必要性长沙seo网站建设
  • 扬州市广陵区城乡建设局网站市场调研报告怎么做
  • 服务器网站打不开西安在线最新招聘信息
  • 西安高校网站建设定制网站建设dedecms免费网站模板
  • 怎么做一个简单的网站钢铁网站建设初衷
  • 网站内容排版设计网站阴影
  • 苏州公司建设网站首页如何做好网站推广工作
  • 云盘做网站萧县建设局网站
  • 行业电子商务网站有哪些如何 攻击网站
  • 做网站需要注册什么公司购物网站二级页面模板
  • 河南省两学一做网站网页制作用什么软件做
  • 网站开发自适应视频网站的广告能怎么做
  • 广州番禺网站建设成都住建局官网房源
  • 绵阳建网站医疗网站怎么做优化