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

网站背景怎么弄斜杠青年seo工作室

网站背景怎么弄,斜杠青年seo工作室,丽水手机网站建设,公司做网站用什么主机目录 引例 其余经典OJ题 1.第一题 2.第二题 3.第三题 4.第四题 5.第五题 引例 OJ 传送门Leetcode647回文子串 画图分析#xff1a; 使用动态规划解决 原理#xff1a;能够将所有子串是否是回文的信息保存在dp表中 在使用暴力方法枚举出所有子串#xff0c;是…目录 引例 其余经典OJ题 1.第一题 2.第二题 3.第三题 4.第四题  5.第五题 引例 OJ 传送门Leetcode647回文子串 画图分析 使用动态规划解决 原理能够将所有子串是否是回文的信息保存在dp表中 在使用暴力方法枚举出所有子串是使用两指针(i,j)依次往后枚举的且满足ij 所以需要建立二维的dp表在填表时只需填上三角位置即可 1.状态表示: dp[i][j]表示字符串s的[i,j](i是起始位置j是结束位置)的这个子串是否是回文 2.状态转移方程 对于线性dp可以采用多画图的方式来分析 3.初始化 因为满足ij 并且越界的情况都已经被判断了是无需做初始化的 4.填表顺序 因为在求dp[i][j]时会用到dp[i1][j-1]的值所以填表顺序是整体从下往上每一行从左往右 5.返回值 返回dp表中true的数量 具体代码 int countSubstrings(string s) {int ns.size();vectorvectorbool dp(n,vectorbool(n));//创建dp表int ret0;for(int in-1;i0;--i)//填表{for(int ji;jn;j)//从i位置开始往后枚举{if(s[i]s[j]){dp[i][j]i1j? dp[i1][j-1]:true;}if(dp[i][j]) ret;}}return ret;//返回} 其余经典OJ题 1.第一题 OJ 传送门Leetcode5最长回文子串 画图分析 使用动态规划解决 对于本道题是计算最长的回文子串在上面的例题中已经实现了判断字符串的子串是否是回文只需在dp表中为true的位置找出最长的回文串 其余的参考上面的例题 5.返回值 在dp表中为true的位置找出最长回文串的起始位置i及长度返回子串 具体代码 string longestPalindrome(string s) {int ns.size();vectorvectorbool dp(n,vectorbool(n));int begin0,len1;for(int in-1;i0;--i){for(int ji;jn;j){if(s[i]s[j]){dp[i][j]i1j? dp[i1][j-1]:true;}if(dp[i][j] j-i1len){begini;lenj-i1;}}}return s.substr(begin,len);} 2.第二题 OJ 传送门Leetcode1745分割回文串IV 画图分析 使用动态规划来解决 对于本题是将字符串划分为三子串只要每个子串是回文串即可 这里可以两下标i,j来划分这个字符串 此时只需要根据上面例题所实现的dp表来逐步划分区间判断  具体代码: bool checkPartitioning(string s) {int ns.size();//用dp把所有的子串是否是回文预处理一下vectorvectorbool dp(n,vectorbool(n));for(int in-1;i0;--i){for(int ji;jn;j){if(s[i]s[j]){dp[i][j]i1j? dp[i1][j-1]:true;}}}//枚举所有的第二个子串的起始位置及结束位置for(int i1;in-1;i){for(int ji;jn-1;j){if(dp[0][i-1] dp[i][j] dp[j1][n-1]) return true;}}return false;} 3.第三题 OJ 传送门Leetcode132分割回文串II 画图分析 使用动态规划来解决 1.状态表示  ---经验题目要求 dp[i]表示字符串s.substr(0,i1)这个子串要分割为回文串的最少分割次数 2.状态转移方程 3.初始化 对于这里的dp表本身在填表时由于j0是不会访问越界的但题目求得是最小值 在求dp[i]min(dp[j-1]1,dp[i])时若初始化时都0时dp[i]0,是会影响求min的因此初始化为INT_MAX 4.填表顺序 ------从左往右 5.返回值-------dp[n-1] 具体代码 int minCut(string s) {//预处理一下int ns.size();vectorvectorbool IsPal(n,vectorbool(n));for(int in-1;i0;--i)for(int ji;jn;j)if(s[i]s[j])IsPal[i][j]i1j? IsPal[i1][j-1]:true;vectorint dp(n,INT_MAX); for(int i0;in;i){if(IsPal[0][i]) dp[i]0;else{for(int j1;ji;j)if(IsPal[j][i]) dp[i]min(dp[j-1]1,dp[i]);}}return dp[n-1];} 4.第四题  OJ 传送门Leetcode516最长回文子序列 画图分析: 使用动态规划解决 1.状态表示 dp[i]表示以i位置为结尾的所有子序列中最长回文子序列的长度 当使用此状态表示来求解状态转移方程时  当求解dp[i]时因为此题是子序列所以需要用到dp[i-1],dp[i-2],....,而dp表中存的只是长度当在每种结果后添加字符s[i]后并不能保证是继续是回文串因此推导不出状态转移方程 这时可以借用上面例题的方法来解决这题 状态表示 dp[i][j]表示s字符串[i,j]区间内的所有子序列最长回文子序列的长度  2.状态转移方程 3.初始化 对于本题可以不用初始化会越界的位置为ij而这些位置已经判断过了 4.填表顺序 整体从上往下每一行从左往右 5.返回值 dp[0][n-1] 具体代码: int longestPalindromeSubseq(string s) {int ns.size();vectorvectorint dp(n,vectorint(n));for(int in-1;i0;--i){for(int ji;jn;j){if(s[i]s[j]){if(ij) dp[i][j]1;else dp[i][j]dp[i1][j-1]2;}elsedp[i][j]max(dp[i1][j],dp[i][j-1]);}}return dp[0][n-1];} 5.第五题 OJ 传送门Leetcode1312让字符串成为回文串的最少插入次数 画图分析: 使用动态规划解决 1.状态表示 根据经验题目要求 dp[i][j]表示:s字符串[i,j]区间的子串让它变为回文串的最小操作次数 2.状态转移方程---认识根据s[i]与s[j]的关系来判断 3.初始化: 4.填表顺序 整体从下往上每一行从左往右 5.返回值   dp[0][n-1] 具体代码 int minInsertions(string s) {int ns.size();vectorvectorint dp(n,vectorint(n));for(int in-1;i0;--i){for(int ji1;jn;j){if(s[i]s[j]) dp[i][j]dp[i1][j-1];else dp[i][j]min(dp[i][j-1],dp[i1][j])1;}}return dp[0][n-1];}
http://www.w-s-a.com/news/295288/

相关文章:

  • ps个人网站首页怎么制作如何做网站的版块规划
  • 做网站的市场开源建站工具
  • 邹平做网站哪家好自动点击器app
  • 南阳seo网站排名优化wordpress文章对游客不显示
  • 网站301什么意思湛江市seo网站设计报价
  • 免费建造网站化妆品网络营销方案
  • 建公司网站wordpress the content
  • 网站的站点的管理系统建设银行网站注册企业
  • 长春火车站是哪个站做微商哪个网站有客源
  • 亚马逊培训费用一般多少seo专业培训课程
  • 做推文封面图网站南宁高端网站建设
  • 天津网站搜索排名做电影免费ppt模板下载网站
  • 襄樊最好网站建设价格网站建设与设计 毕业设计
  • 网站推广广告词大全集网站建设相对路径
  • 甘肃省铁路投资建设集团有限公司网站域名怎么实名认证
  • 企业网站建设的层次返利网站建设
  • 竞价单页网站制作中小企业网站建设问题
  • 响应式网站源码学校网站制作多少钱
  • 营销型网站建设需要懂什么网站建站四件套是什么
  • 廊坊哪里有制作手机网站的区块链开发语言
  • 找建设项目的网站装企工长网站开发
  • 戴尔网站建设成功方正网站制作
  • 怎么买网站域名wordpress 视频站模版
  • 厦门官网建设公司杨和关键词优化
  • 怎么做网约车seo自动优化软件下载
  • 遵义市住房和城乡建设局官方网站网站备案 自己的服务器
  • 分销系统价格多少北京网站优化平台
  • 怎样做旅游公司的网站泉州网站建设方案优化
  • 手机网站页面范例个人网站做淘宝客违规
  • 做一套网站开发多少钱SEO做得最好的网站