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

做云购网站佛山顺德网站制作公司哪家好

做云购网站,佛山顺德网站制作公司哪家好,网站模糊背景,网站建设跟加入会员哪个效果好leetcode 5 最长回文子串给定一个字符串 s#xff0c;找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1#xff1a;输入: babad 输出: bab 注意: aba 也是一个有效答案。示例 2#xff1a;输入: cbbd 输出…leetcode 5 最长回文子串给定一个字符串 s找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1输入: babad 输出: bab 注意: aba 也是一个有效答案。 示例 2输入: cbbd 输出: bb思路动态规划为了改进暴力法我们首先观察如何避免在验证回文时进行不必要的重复计算。考虑 这个示例。如果我们已经知道 是回文那么很明显 一定是回文因为它的左首字母和右尾字母是相同的。我们给出 的定义如下因此基本示例如下这产生了一个直观的动态规划解法我们首先初始化一字母和二字母的回文然后找到所有三字母回文并依此类推…复杂度分析时间复杂度O(n^2)O(n2)这里给出我们的运行时间复杂度为 O(n^2)O(n2) 。空间复杂度O(n^2)O(n2)该方法使用 O(n^2)O(n2) 的空间来存储表。具体写码的时候用一个变量代码中的sub来记录目前最长的子串长度用一个list代码中的max_len来记录最长子串的坐标另一个leetcode上速度比较快的算法有点类似滑动窗口法维护一个最大长度为lenth的窗口并使用python语法糖q q[::-1]来判断是否是回文字符串但是要注意的是维护窗口时要同时维护奇数和偶数两种窗口。答案class Solution(object):def longestPalindrome(self, s)::type s: str:rtype: strn len(s)if n 0:return if n 1:return sres [[0 for _ in range(n)] for _ in range(n)]sub 1max_len [0,0]for i in range(n):res[i][i] 1if i ! n-1 and s[i] s[i1]:res[i][i1] 1sub 2max_len[i,i1]for i in range(n):for j in range(1,min(i,n-i)1):if i-j0 and ijn and res[i-j1][ij-1] and s[i-j]s[ij]:res[i-j][ij] 1#print 12*jif sub12*j:sub 12*jmax_len [i-j,ij]#print sub,max_lenif i-j0 and i1jn and res[i-j1][ij] and s[i-j] s[ij1]:res[i-j][ij1] 1if sub22*j:sub 12*jmax_len [i-j,ij1]#print sub,max_lenreturn s[max_len[0]:(max_len[1]1)]class Solution(object):def longestPalindrome(self, s)::type s: str:rtype: strif len(s) 1 or s s[::-1]:return sstart 0length 1for i in range(len(s)):p s[i-length-1:i1]q s[i-length:i1]if i-length-1 0 and p p[::-1]:start i-length-1length 2if i-length 0 and q q[::-1]:start i - lengthlength 1return s[start:startlength][647] 回文子串给定一个字符串你的任务是计算这个字符串中有多少个回文子串。具有不同开始位置或结束位置的子串即使是由相同的字符组成也会被计为是不同的子串。示例 1:输入: abc输出: 3解释: 三个回文子串: a, b, c.示例 2:输入: aaa输出: 6说明: 6个回文子串: a, a, a, aa, aa, aaa.注意:输入的字符串长度不会超过1000。思路这道题的动态规划思路跟上一道题第五题完全一样只不过在具体代码的时候使用一个变量来记录回文子串的个数。[516] 最长回文子序列给定一个字符串s找到其中最长的回文子序列。可以假设s的最大长度为1000。示例 1:输入:bbbab输出:4一个可能的最长回文子序列为 bbbb。示例 2:输入:cbbd输出:2一个可能的最长回文子序列为 bb。思路这道题跟上两道题的动态规划思路完全不一样首先这道题寻找的是最长回文子序列子序列可以不相连。其次这道题要返回的是最长回文子序列的长度不关心子序列所以构造动态规划数组时也稍有不同。具体来说引入 ,表示第i个字符至第j个字符组成的子串中最长回文子序列的长度。递推公式可以表示为注意在具体代码的时候循环应该是先判断间隔距离为1的所有字符对然后依次增加。答案class Solution(object):def longestPalindromeSubseq(self, s)::type s: str:rtype: intn len(s)if n1:return nif n2:if s[0]s[1]:return 2else:return 1resgrid [[0 for _ in range(n)] for _ in range(n)]for i in range(n):resgrid[i][i]1for gap in range(1,n):for i in range(n):if igapn:breakl ih igapif s[l]s[h]:resgrid[l][h] resgrid[l1][h-1]2else:resgrid[l][h]max(resgrid[l1][h],resgrid[l][h-1])return resgrid[0][n-1]
http://www.huolong8.cn/news/197237/

相关文章:

  • 临沂网站制作价格商标设计图片
  • 共享虚拟主机做网站够用么重庆易企云网络科技有限公司
  • 门户网站通俗理解邯郸网站建设公司
  • 重庆网站建设备案wordpress空白主题
  • wordpress网站响应时间太长中国去中心化搜索引擎
  • h5网站制作平台asp新闻发布网站模板
  • 建设部网站怎么查询相关专业韩国男女直接做的视频网站
  • 企业网站建设的层次html简单网页设计代码
  • 四川省建设厅网站证seo优化培训课程
  • 软件商店安装app优化推荐
  • 图片展示网站搭建瑞诺国际的员工数量
  • 重庆第一门户网站响应式布局页面
  • 网站301设置设计师可以在哪些网站接单
  • 成都分销网站建设一个网站两个域名百度商桥安装方法
  • 集团网站建设方案wordpress和dedecms哪个好
  • 网站后台报表统计系统营销型 展示类网站
  • 广州建设网站技术如何解决网站兼容性问题
  • 娄底工程建设有限公司网站展示类网站模板js
  • 网站设计和美工一样吗深圳建筑业网站建设
  • 贵州企业网站建设策划怎样咨询网络服务商
  • 手机网站一键分享到微信泰安房产查询系统
  • 网站建设与运营的课程标准学校网站建设及管理制度
  • 合肥网站建设方案咨询邹平县城乡建设局网站
  • 网站上添加百度地图导航包头网络推广公司
  • 福州网站建设好的公司服务器 网站 app
  • 衡水网站建设选哪家温州网站建设网络
  • 商丘做网站用什么程序好品牌运营和品牌推广
  • 怎么搞自己的网站跨境c2c的平台有哪些
  • 网站到期时间仿豆瓣 wordpress
  • 怎么才能建立一个网站网站代理怎么做的