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

石家庄建站费用网站兼容所有浏览器

石家庄建站费用,网站兼容所有浏览器,app开发的知名公司有哪些,现在哪个网站做电商好算法-动态规划/中心扩散法-最长回文子串 1 题目概述 1.1 题目出处 https://leetcode.cn/problems/longest-palindromic-substring 1.2 题目描述 2 动态规划 2.1 思路 dp[i][j] 表示[i,j]之间的字符串是否是回文。 那么,如果chars[i] chars[j]时,就…

算法-动态规划/中心扩散法-最长回文子串

1 题目概述

1.1 题目出处

https://leetcode.cn/problems/longest-palindromic-substring

1.2 题目描述

在这里插入图片描述

2 动态规划

2.1 思路

dp[i][j] 表示[i,j]之间的字符串是否是回文。
那么,如果chars[i] = chars[j]时,就有可能构成的子串为回文:

  1. 如果j - i < 3,则子串肯定是回文。比如 aba、aa、a
  2. 如果j - i >=3,则就会用到动态规划了,即 dp[i][j] = dp[i+1][j-1],也就是说 i的下一个字符和j的前一个字符组成的闭区间子串是否是回文,只要是那么本子序列也是。
  3. 这里有个重要的点,表达式为dp[i][j] = dp[i+1][j-1],也就是说i取决于i+1,j取决于j-1,所以遍历时需要i从大到小计算,而j需要从小到大计算。
  4. 遍历过程中,每当判断子序列为回文,就和之前已经找到的最大回文长度的比较,如果更长就更新,并记录下i、j
  5. 最后将字符串从i、j取子序列即可

2.2 代码

public class Solution {public String longestPalindrome(String s) {// 表示[i,j]之间的字符串是否是回文boolean[][] dp = new boolean[s.length()][s.length()];for(int i = 0; i < s.length(); i++) {// 定义同一个位置的为truedp[i][i] = true;}int maxLength = 0;int left = 0, right = 0;for (int i = s.length() - 1; i >= 0; i--) {for (int j = i + 1; j < s.length(); j++) {if (s.charAt(i) == s.charAt(j)) {if (j - i < 3) {dp[i][j] = true;} else {dp[i][j] = dp[i+1][j-1];}if (dp[i][j] && (j - i + 1 > maxLength)) {maxLength = j - i + 1;left = i;right = j;}}}}return s.substring(left, right+1);}}

2.3 时间复杂度

O(N^2)
在这里插入图片描述

2.4 空间复杂度

O(N^2)

3 中心扩散

3.1 思路

从左到右移动,每当移动一次后,往两边扩散,直到两侧边界字符不符合回文规则。

3.2 代码

public class Solution {int maxLength = 0;int left = 0, right = 0;public String longestPalindrome(String s) {for (int i = 0; i < s.length() - 1; i++) {// 字符串奇数长度时,中间一个字符串往两边扩散spread(i, i, s);// 字符串偶数长度时,中间两个字符串往两边扩散spread(i, i+1, s);}return s.substring(left, right+1);}private void spread(int i, int j, String s) {while (i >= 0 && j < s.length()) {if (s.charAt(i) != s.charAt(j)) {break;} i--;j++;}// 把多减了、加了的补上i++;j--;if (j - i + 1 > maxLength) {left = i;right = j;maxLength = j - i + 1;}}
}

3.3 时间复杂度

在这里插入图片描述
O(N^2)

3.4 空间复杂度

O(1)

参考文档

  • 动态规划、中心扩散
  • 图解马拉车算法
http://www.yayakq.cn/news/711238/

相关文章:

  • 抖音代运营话术湘潭seo 上词多湘潭磐石网络
  • ppt模板资源网站北京软件公司招聘信息最新
  • 彩票网站搭建南昌seo网站
  • 广州网站优化平台ios开发还有前景吗
  • 网站设计 html5做微商网站公司
  • 在哪个网站做推广好芜湖营销网站建设
  • 广告网站建设与制作公司伊宁市做网站
  • 做网站的工资高jsp网站购买空间
  • 做外贸网站 用国外空间 还是 国内空间 区别安徽富通建设集团有限公司网站
  • 建设网站平台的用语网站建设及运维合同
  • 做中英文游戏门户网站关键词怎么弄为什么亿唐网不做网站做品牌
  • 电子商务网站建设的简要任务执行书wordpress 内存优化
  • 做国外的众筹网站有哪些大都会app最新版本下载
  • 摄影网站定位佛山百度seo代理
  • 贵州建设水利厅考试网站网站的建设需要数据库
  • 网站建设公司哪家开发手机网站
  • 制作手机网站什么软件电商网站设计系统
  • 像那种代刷网站怎么做wordpress不跳转
  • 网站后台功能需求合肥做网站域名的公司
  • 跨平台 移动网站开发彩票网站开发注意事情
  • 免费建站系统wordpress中国服务外包
  • 安徽康东建设工程有限公司网站邯郸做外卖网站的公司
  • 东莞网站开发定制佛山网站建设推荐
  • 宁波建设监理协会酒泉网站seo
  • 前端静态网站模板摄影网站制作软件
  • 做影视会员网站青海省住房和城乡建设厅的官方网站
  • 成都哪个公司做网站企业微信开放平台
  • 做推广网站费用有什么平台可以发广告
  • 网站建设钱试论述网上商城的推广技巧
  • 昆明市住房和城乡建设局门户网站黑龙江建设网ca数字证书如何注销