当前位置: 首页 > 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.zqtcl.cn/news/775091/

相关文章:

  • 网站都需要备案吗安徽建设通网站
  • 外包公司 网站建设 深圳电子商务公司设计网站建设
  • 怎么添加网站背景音乐定制建站
  • 西安网站建设和推广公司php企业网站开发实训报告
  • 市网站制作番禺绿叶居
  • 网站漂浮物怎么做电子商务网站开发实训体会
  • 电商网站建设定制济南网站建设及推广
  • 网站标签化wordpress 输出评论内容 函数
  • 明星个人网站设计汕头网络推广公司
  • 深圳有哪些做网站公司好武夷山建设局网站
  • 怎么设立网站赚广告费一个网站可以做多少关键字
  • 网站刚建好怎么做能让百度收录成都定制网站建
  • thinkphp网站开发技术做电脑租赁网站
  • 网站设计评语中午版wordpress
  • 邢台企业手机网站建设汕头网站制作后缀
  • 微网站后台内容设置做网站语言排名2018
  • 嘉兴网站制作网站建设外贸营销推广平台有哪些
  • 网站开发集广州高端网站定制开发价格
  • 网站开发培训成都网站建设 报价单 doc
  • 苏州哪里有做淘宝网站的WordPress模板博客主题
  • 网站做中转做任务 网站
  • 深圳住房建设局网站网站的建设教程
  • 6免费建站的网站在线建筑设计
  • 哪些网站做任务可以赚钱的建设厅网站如何查询企业信息
  • 深圳网站设计+建设首选深圳市服装网站建设需求分析报告
  • 肥城网站制作浙江省建设厅信息港官网
  • 手机网站建设进度南宁企业网站设计
  • 建设学校网站方案大淘客网站上的推广怎么做
  • 哪个网站可以免费学设计南阳网站建设页面
  • 外贸公司建网站一般多少钱南京网站建设小程