动态规划:

class Solution {public:string longestPalindrome(string s) {int len = s.size();if(len < 2){return s;} vector<vector<bool>>dp(len,vector<bool>(len, false));for(int i = 0; i < len; i++){dp[i][i] = true;}int maxlen = 1,start = 0;for(int right = 1; right < len; right++){for(int left = 0; left < right; left++){if(s[left] == s[right]){if(right - left <= 2 || dp[left+1][right-1] == true){dp[left][right] = true;int curlen = right - left + 1;if(curlen > maxlen){maxlen = curlen;start = left;}}}}}return s.substr(start,maxlen);}
};

中心扩散:

class Solution {public:string longestPalindrome(string s) {if(s.size() == 0) return "";int start = 0, maxLen = 0;for(int i = 0; i < s.size(); i++){int len1 = expandAroundCenter(s, i, i);//回文子串为奇数int len2 = expandAroundCenter(s, i, i+1);//回文子串为偶数int len = len1 > len2 ? len1 : len2; if(len > maxLen){maxLen = len;start = i - (len - 1)/2;}}return s.substr(start, maxLen);}int expandAroundCenter(string &s, int left, int right){while(left >=0 && right < s.size() && s[left] == s[right]){left--;right++;}return right - left - 1;}
};

[leetcode]5. 最长回文子串相关推荐

  1. [动态规划|字符串] leetcode 5 最长回文子串

    [动态规划|字符串] leetcode 5 最长回文子串 1.题目 题目链接 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 示例1: 输入: "b ...

  2. LeetCode 5. 最长回文子串(动态规划)

    文章目录 1. 题目 2. 解题 2.1 自己写的DP 2.2 优化后的DP 2.3 中心扩展法 1. 题目 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. ...

  3. 20200118:(leetcode)最长回文子串(中心扩展算法详解及思考)

    最长回文子串(中心扩展算法详解及思考) 题目 中心扩展算法详解 代码实现 题目 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 示例 1: 输入: " ...

  4. 20200117:(leetcode)最长回文子串(暴力法)

    最长回文子串 题目 基本思路 代码实现 题目 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 示例 1: 输入: "babad" 输出: ...

  5. leetcode 5. 最长回文子串 暴力法、中心扩展算法、动态规划,马拉车算法(Manacher Algorithm)

    给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000.示例 1: 输入: "babad" 输出: "bab" 注意: &quo ...

  6. leetcode - 5. 最长回文子串

    给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 解题思路: 对于一个字符串,回文子串存在两种情况,第一种情况是???a???的回文子串,第二种情况是???aa ...

  7. leetcode题解5-最长回文子串

    问题描述 给你一个字符串 s,找到 s 中最长的回文子串. 示例 1: 输入:s = "babad" 输出:"bab" 解释:"aba" 同 ...

  8. LeetCode 516 最长回文子串

    思路: 动态规划 dp数组:dp[i][j]表示s[i:j]最长回文子串长度 出口: ●i j相同,   dp[i][j]  都为1 ●j=i+1,如果  s[j]=s[i]  dp[i][j]=2, ...

  9. LeetCode 05最长回文子串

    题目描述 描述: 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 示例 1: 输入: "babad" 输出: "bab" ...

  10. [LeetCode][M0005]最长回文子串(Java)(马拉车(Manacher)算法)

    题目描述: 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 示例 1: 输入: "babad" 输出: "bab" 注 ...

最新文章

  1. 机器学习四剑客4——PIL
  2. python网络编程-异常处理-异常捕获-抛出异常-断言-自定义异常-UDP通信-socketserver模块应用-03
  3. Copy GAC DLL
  4. Ajax前后端对接---Springmvc
  5. 计算机组成原理刘红玲,计算机组成原理/21世纪高等学校规划教材
  6. 构建生态安全格局的方法
  7. Linq-插入insert
  8. CSS3给页面打标签
  9. mongodb 如何更改端口号_Centos7配置MongoDB以及端口修改
  10. 第三天:完善数据层(controller)真正对接数据库Mysql
  11. 第八章 文件资源共享
  12. Jensen不等式及其应用
  13. R语言缺失值判断与处理mice包-3
  14. 微星GP76 AX1675x ubuntu 18.04安装有线/无线网卡驱动
  15. windows 内网域电脑无法ntp时间同步
  16. 安卓手机变鼠标图文教程
  17. pdf转换器免费版下载使用
  18. SpringBoot笔记系列:(十)数据持久化Spring Data JPA
  19. Webpack:Loader学习—— Pitching Loader
  20. 记得十年前谷歌大量使用python_关于利用Python玩转百万答题

热门文章

  1. python有什么用-python有什么用(用处和用途)
  2. 自学python能干什么-普通人学Python能干什么?老男孩Python入门
  3. 简单python脚本实例-超实用的 30 段 Python 案例
  4. 车载语音最新黑科技 除了辨“音”还会识“相”
  5. 简析三星新专利,语音识别技术的新方法
  6. 数学速算法64种口诀_小学数学有哪些数学计算技巧?
  7. Vue样式绑定~非常详细哦
  8. respond是空的_httpClient 获取response 中的 content 为空的原因(急求)
  9. 【Servlet笔记】Servlet入门
  10. 【java笔记】常用函数式接口(4):Funtion接口