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

微信支付申请网站建设未完成/新闻式软文

微信支付申请网站建设未完成,新闻式软文,不花钱的做网站,猪八戒网站是做啥的目录 0.原理讲解1.回文子串1.题目链接2.算法原理详解3.代码实现 2.最长回文子串1.题目链接3.代码实现 3.分割回文串 IV1.题目链接2.算法原理详解3.代码实现 0.原理讲解 动态规划能够将所有的子串是否是回文的信息,保存在dp表里面状态表示一般经验:以[i,…

目录

  • 0.原理讲解
  • 1.回文子串
    • 1.题目链接
    • 2.算法原理详解
    • 3.代码实现
  • 2.最长回文子串
    • 1.题目链接
    • 3.代码实现
  • 3.分割回文串 IV
    • 1.题目链接
    • 2.算法原理详解
    • 3.代码实现


0.原理讲解

  • 动态规划能够将所有的子串是否是回文的信息,保存在dp表里面
  • 状态表示一般经验:以[i, j]为区间,分析问题

1.回文子串

1.题目链接

  • 回文子串

2.算法原理详解

  • 思路
    • 确定状态表示 -> dp[i][j]的含义

      • s字符串[i, j]的子串,是否是回文串
    • 推导状态转移方程
      请添加图片描述

    • 初始化:无需初始化

    • 确定填表顺序:从下往上

    • 确定返回值:dp表里true的个数


3.代码实现

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

2.最长回文子串

1.题目链接

  • 最长回文子串

  • 按照回文子串的思路解决即可,只不过判断最长时,利用起始下标j - i + 1

  • 思路

    • 确定状态表示 -> dp[i][j]的含义

      • s字符串[i, j]的子串,是否是回文串
    • 推导状态转移方程
      请添加图片描述

    • 初始化:无需初始化

    • 确定填表顺序:从下往上

    • 确定返回值:dp表里值为true的情况下,长度最大的字串的起始位置以及长度


3.代码实现

string longestPalindrome(string s) 
{int n = s.size();vector<vector<bool>> dp(n, vector<bool>(n));int len = 1, begin = 0;for(int i = n - 1; i >= 0; i--){for(int j = i; j < n; j++){if(s[i] == s[j]){dp[i][j] = i + 1 < j ? dp[i + 1][j - 1] : true;if(dp[i][j] && j - i + 1 > len){len = j - i + 1;begin = i;}}}}return s.substr(begin, len);
}

3.分割回文串 IV

1.题目链接

  • 分割回文串 IV

2.算法原理详解

  • 思路梳理

    • 本题思路经处理后,就可以划归为回文子串
    • 可以将本题分为三个区间,其中中间区间就是一个回文子串的始末
    • 先将字符串内所有子串是否是回文串都判断出来,再挨个判断三个区间是否是回文串
      请添加图片描述
  • 预处理:将字符串内所有子串是否是回文串都判断出来

    • 确定状态表示 -> dp[i][j]的含义

      • s字符串[i, j]的子串,是否是回文串
    • 推导状态转移方程
      请添加图片描述

    • 初始化:无需初始化

    • 确定填表顺序:从下往上

  • 结果处理:挨个判断三个区间是否是回文串


3.代码实现

bool checkPartitioning(string s) 
{// 预处理:处理回文信息int n = s.size();vector<vector<bool>> dp(n, vector<bool>(n));for(int i = n - 1; i >= 0; i--){for(int j = i; j < n; j++){if(s[i] == s[j]){dp[i][j] = i + 1 < j ? dp[i + 1][j - 1] : true;}}}// 判断三区间,枚举中间区间for(int i = 1; i < n - 1; i++){for(int j = i; j < n - 1; j++){if(dp[0][i - 1] && dp[i][j] && dp[j + 1][n - 1]){return true;}}}return false;
}
http://www.whsansanxincailiao.cn/news/30342072.html

相关文章:

  • 站酷网官网登录/外贸接单平台哪个最好
  • 南昌网站建设_南昌做网站公司/网站制作软件
  • 宝鸡百度seo/安卓aso关键词优化
  • 网络营销运营推广方案下载/聊城seo整站优化报价
  • 湖南微信网站公司简介/黑龙江新闻头条最新消息
  • 溧阳网站建设中心/黄页推广2021
  • 网站开发项目业务要求/谁能给我个网址
  • 公司网站建设多少费用哪里济南兴田德润有活动吗/河南网站优化公司
  • 网站做投票系统/全自动推广引流软件免费
  • 北海哪里做网站建设/手游推广去哪里找客源
  • amaze ui做网站/百度推广客户端下载安装
  • 安徽建设工程信息网新网站哪儿登陆/百度广告推广怎么收费
  • 江西做网站优化好的/外贸网站seo教程
  • 给你一个网站你怎么做/搜索引擎营销总结
  • 如何做网站公证/互联网全网营销
  • 张家界网站开发/长沙免费建站网络营销
  • 青岛北京网站建设价格/百度账号官网
  • 新疆乌鲁木齐建设职业学校网站/抖音流量推广神器软件
  • 网站维护主要是做哪些/如何做宣传推广效果最好
  • 美工图片制作软件/重庆网页优化seo
  • 单页网站如何做排名/廊坊百度快照优化哪家服务好
  • 淄博桓台网站建设公司/怎样申请网站注册
  • 天河公司网站建设公司/成都seo技术经理
  • 客户软件管理系统/关键词优化哪家强
  • seo黑帽培训/国外seo网站
  • 温州 网站开发/seo网络推广到底是做什么的
  • 和拓者设计吧类似的网站/肇庆seo优化
  • 深圳平湖网站建设公司/域名注册需要多少钱
  • wordpress修改css/武汉seo公司哪家专业
  • html5网站开发教程/seo是什么意思网络用语