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

比较好的做网站的公司今天的最新消息新闻

比较好的做网站的公司,今天的最新消息新闻,手机网站制作方案,b2c网站资料怎么做647. 回文子串 链接: 647. 回文子串 给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目。 回文字符串 是正着读和倒过来读一样的字符串。 子字符串 是字符串中的由连续字符组成的一个序列。 具有不同开始位置或结束位置的子串,即使是由…

647. 回文子串

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

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

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

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

示例 1:

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

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

解法(动态规划):
算法思路:
我们可以先「预处理」⼀下,将所有⼦串「是否回⽂」的信息统计在 dp 表⾥⾯,然后直接在表⾥⾯统计 true 的个数即可。

1.状态表示*
为了能表⽰出来所有的⼦串,我们可以创建⼀个 n * n 的⼆维 dp 表,只⽤到「上三⻆部分」
即可。
其中, dp[i][j] 表⽰: s 字符串 [i, j] 的⼦串,是否是回⽂串。

2.状态转移方程
对于回⽂串,我们⼀般分析⼀个「区间两头」的元素:

  1. 当 s[i] != s[j] 的时候:不可能是回⽂串, dp[i][j] = 0 ;
  2. 当 s[i] == s[j] 的时候:根据⻓度分三种情况讨论:
    • ⻓度为 1 ,也就是 i == j :此时⼀定是回⽂串,dp[i][j] = true ;
    • ⻓度为 2 ,也就是 i + 1 == j :此时也⼀定是回⽂串, dp[i][j] =true ;
    • ⻓度⼤于 2 ,此时要去看看 [i + 1, j - 1] 区间的⼦串是否回⽂: dp[i][j]= dp[i + 1][j - 1] 。

综上,状态转移⽅程分情况谈论即可。

3. 初始化
因为我们的状态转移⽅程分析的很细致,因此⽆需初始化。

4. 填表顺序
根据「状态转移⽅程」,我们需要「从下往上」填写每⼀⾏,每⼀⾏的顺序⽆所谓

5. 返回值
根据「状态表⽰和题⽬要求」,我们需要返回 dp 表中 true 的个数

代码:

 int countSubstrings(string s) {int n=s.size();vector<vector<int>> dp(n,vector<int>(n));dp[0][0]=1;int sum=1;for(int j=1;j<n;j++){for(int i=0;i<=j;i++){if(s[j]==s[i]){if(j==i||j==i+1) dp[i][j]=1;if(j-i>1){dp[i][j]=dp[i+1][j-1];}}if(dp[i][j]) sum++;}}return sum;}

在这里插入图片描述

5. 最长回文子串

链接: 5. 最长回文子串

给你一个字符串 s,找到 s 中最长的回文子串。

如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。

示例 1:

输入:s = “babad”
输出:“bab”
解释:“aba” 同样是符合题意的答案。
示例 2:

输入:s = “cbbd”
输出:“bb”

解法思路:

  • a. 我们可以先⽤ dp 表统计出「所有⼦串是否回⽂」的信息
  • b. 然后根据 dp 表⽰ true 的位置,得到回⽂串的「起始位置」和「⻓度」。 那么我们就可以在表中找出最⻓回⽂串。

关于「预处理所有⼦串是否回⽂」,已经在上⼀道题⽬⾥已经讲解过了。

代码:

  string longestPalindrome(string s) {int n=s.size();vector<vector<int>> dp(n,vector<int>(n));dp[0][0]=1;int sum=1;string ret(1,s[0]);for(int j=1;j<n;j++){for(int i=0;i<=j;i++){if(s[j]==s[i]){if(j==i||j==i+1) dp[i][j]=1;if(j-i>1){dp[i][j]=dp[i+1][j-1];}}if(dp[i][j]){if(j-i+1>sum){sum=j-i+1;string tmp(s.begin()+i,s.begin()+j+1);ret=tmp;}}}}return ret;}

在这里插入图片描述

http://www.tj-hxxt.cn/news/69543.html

相关文章:

  • 上网出现危险网站网站seo方案策划书
  • 网站设计手机型交换友链
  • 有源码帮忙搭建网站吗站长之家是什么
  • 从零开始学微信公众号运营推广深圳品牌seo
  • 龙岩做网站奶盘seo伪原创工具
  • 设计院门户网站建设方案外链工具软件
  • 崇明建设镇乡镇府网站外贸网站平台哪个好
  • 个人网页模板关于爱国网站seo方案模板
  • 品牌设计有哪些河北seo推广方案
  • 网页微信手机登录上海seo网络优化
  • 苏州网站搭建公司潍坊网站建设seo
  • 企业百度网站怎么做发文章用哪个平台比较好
  • 贵州三线建设博物馆网站网站超级外链
  • 个人网站做企业网站seo检测优化
  • 免费建设微网站制作徐州关键词优化排名
  • 云之创网站建设百度指数查询排行榜
  • 广州网站建设如何做广州seo做得比较好的公司
  • 自己的网站 做采集怎么做百度在线
  • 专做动漫的网站关键词优化排名软件哪家好
  • 石家庄最好的网站建设公司电脑培训机构
  • 怎样做网站 网页百度推广登录官网
  • 站长之家网站建设制作采集站seo赚钱辅导班
  • 用数字做域名的网站排名优化怎么做
  • 公司网站建设费计入哪个科目百度网讯科技客服人工电话
  • 广告设计公司创业计划书西安官网seo公司
  • 金溪做网站百度退推广费是真的吗
  • 跨境电商无货源怎么做网站seo招聘
  • 青海找人做网站多少钱旺道seo推广
  • 华为网站建设策划书网上推广用什么平台推广最好
  • 利用qq 群做网站推广整站seo