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

国内购物网站大全友情链接地址

国内购物网站大全,友情链接地址,专业做网站的顺德公司,东莞网站建设渠道题目链接 文章目录 1. 思路讲解1.1 方法选择1.2 dp表的创建1.3 状态转移方程1.4 填表顺序 2. 代码实现 1. 思路讲解 1.1 方法选择 这道题我们采用动态规划的解法,倒不是动态规划的解法对于这道题有多好,它并不是最优解。但是,这道题的动态…

题目链接

文章目录

  • 1. 思路讲解
    • 1.1 方法选择
    • 1.2 dp表的创建
    • 1.3 状态转移方程
    • 1.4 填表顺序
  • 2. 代码实现

1. 思路讲解

1.1 方法选择

这道题我们采用动态规划的解法,倒不是动态规划的解法对于这道题有多好,它并不是最优解。但是,这道题的动态规划思想是非常有用的,我们使用这道题的动态规划思想,可以让一些hard题变为easy题。

也就是说,这道题的动态规划思想其实就是起到了一个抛砖引玉的作用。

1.2 dp表的创建

如何表示出所有的子串的情况?可以用 i 表示某个子串的起始位置,用 j 来表示某个子串的末尾位置,暴力枚举,可以在N^2的时间复杂度内求出所有子串是否为回文子串。

所以,我们用二维dp[i][j]表来表示,以 i 位置为起始位置且以 j 位置为结尾的子串是否为回文子串。如果为回文子串那么dp[i][j]为true,否则为false。(我们人为规定 i <= j)

1.3 状态转移方程

我们要知道dp[i][j]为是否为回文子串,首先要判断 s[i] 是否等于 s[j]。

如果 s[i] != s[j],那么不管 i 和 j 中间的元素序列是怎样的,以 i 位置为起始位置,以 j 位置为终止位置的子串一定不为回文子串

如果 s[i] == s[j],那么需要对 i 和 j 的位置进行判断。

  1. 如果 i == j,那么说明当前初识位置和末尾位置在同一个位置,也就是说,子串只有一个元素,此时根据题意它为回文子串
  2. 如果 i + 1 == j,那么 i 和 j 的位置是相邻的,此时它们中间没有元素,它们位置上的元素又相同,那么一定是回文子串
  3. 如果 i + 1 < j,说明 i 位置 和 j 位置中间还有其他元素,此时只需判断dp[i+1][j-1]为true还是false即可
    在这里插入图片描述

1.4 填表顺序

由于我们求dp[i][j]的时候,需要用到 dp[i+1][j-1],且 i 的循环为外层的循环,所以让 i 从大到小循环即可。

2. 代码实现

在这里插入图片描述

class Solution {
public:int countSubstrings(string s) {int n = s.size();// 创建二维dp表,dp表中每个位置的初始值为falsevector<vector<bool>> dp(n, vector<bool>(n));int ret = 0; // 用于保存有多少位true的dp位置,即有多少个回文子串// 在循环时 i 从大到小进行循环for (int i = n - 1; i >= 0; --i){// j的循环顺序其实无所谓,只要循环的区间在[i, n)即可for (int j = i; j < n; ++j){// 根据状态转移方程求dp[i][j]if (s[i] == s[j])dp[i][j] = i + 1 < j ? dp[i+1][j-1] : true;// 如果dp[i][j]为true,增加retif (dp[i][j]) ++ret;}}return ret;}
};
http://www.15wanjia.com/news/22731.html

相关文章:

  • 自己做网站平台需要服务器网络营销的发展概述
  • 村级门户网站建设巧克力软文范例200字
  • 泰州网站建设服务热线深圳网站优化排名
  • 深圳英文网站建设google官方下载
  • 有什么网站可以接活做设计seo网站优化培训班
  • 动态网站开发模式seo教程排名第一
  • 医院网站站群建设重庆网站优化软件
  • 赣州做网站的公司有哪家网站查询访问
  • 网站建设会议验收网站建设找哪家好
  • 做啊网站淘宝客怎么做推广
  • 微网站免费创建平台google 推广优化
  • 给帅哥做奴视频网站地址数据推广公司
  • 日本logo设计网站企业网站制作费用
  • 如何建设线报网站seo自媒体培训
  • 网站建设公司做销售好不好?百度代运营推广
  • 网站数据库模板网络营销题库及答案2020
  • 北京市公司网站制作免费个人网站建设
  • 网站建设运营预算明细电子邮件营销
  • 网站建设优点广州网络推广seo
  • 西安做网站找缑阳建seo在线优化平台
  • wordpress duxseo平台代理
  • 为什么要给企业建设网站指数基金定投怎么买
  • Wordpress免费文章采集灰色行业关键词优化
  • 网页制作图片代码seo分析报告怎么写
  • 网站制作 昆明山东大学经济研究院
  • h5手机网站发展趋势昆山网站制作哪家好
  • 做视频网站空间要多大seo挂机赚钱
  • 网页设计实训总结1500字通用大连seo按天付费
  • 网站的外部链接建设全网营销系统是干什么的
  • 长春建设集团股份有限公司网站nba排名榜