Leetcode 5. Longest Palindromic Substring (第十周作业)
来源:互联网 发布:unity3d安装步骤 编辑:程序博客网 时间:2024/06/06 07:45
这周依然是动态规划的题目。
先贴原题:
Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.
Example:
Input: "babad"Output: "bab"Note: "aba" is also a valid answer.
Example:
Input: "cbbd"Output: "bb"
由题目可知:因为找的是成对称排列的字符子串。所以可以由中间向两边查找,例如bab,可以从a的两边查找,如果左右两边的元素值一样,那么两边的数向两边移动。但是由于可能会有一样的字符,所以第一步可以先把一样的连续字符拼成一个串,然后再从这个串往两边找。
贴出代码:
#include <iostream>#include <string>using namespace std;class Solution {public:string longestPalindrome(string s) {string lps = "";int maxL = 0;for (int i = 0; i < s.length(); i++) {int left = i, right = i;while (i + 1 < s.length() && s[i] == s[i + 1]) {right = i + 1;i++;}while (left >= 0 && right<s.length() && s[left] == s[right]) {left--; right++;}if (right - left - 1 > maxL) {lps = s.substr(left + 1, right - left - 1);maxL = right - left - 1;}}return lps;}};
可知时间复杂度为:O(n*n);
空间复杂度为O(1);
阅读全文
0 0
- Leetcode 5. Longest Palindromic Substring (第十周作业)
- 第八周:[Leetcode]5. Longest Palindromic Substring
- LeetCode 5. Longest Palindromic Substring
- LeetCode --- 5. Longest Palindromic Substring
- LeetCode 5.Longest Palindromic Substring
- [Leetcode] 5. Longest Palindromic Substring
- [LeetCode]5.Longest Palindromic Substring
- [leetcode] 5. Longest Palindromic Substring
- LeetCode-5. Longest Palindromic Substring
- leetcode 5. Longest Palindromic Substring
- leetcode 5. Longest Palindromic Substring
- Leetcode 5. Longest Palindromic Substring
- LeetCode 5. Longest Palindromic Substring
- Leetcode 5. Longest Palindromic Substring
- leetcode 5. Longest Palindromic Substring
- LeetCode-5. Longest Palindromic Substring
- Leetcode 5. Longest Palindromic Substring
- leetcode 5. Longest Palindromic Substring
- 非Python的Web服务器之Apache WSGI模块安装
- Maven异常:Could not find artifact
- linux 中用vi编辑器替换字符
- 多重检验中的FDR错误控制方法与p-value的校正及Bonferroni校正
- 一个工厂的网络实践,原本简单的网络被搞得如此复杂
- Leetcode 5. Longest Palindromic Substring (第十周作业)
- 【JavaScript】数据类型检测
- 比较四个数的大小,并最后显示最大数和最小数
- Android-踩坑之路-全屏-沉浸式
- 网络基本概念之网络分层
- LintCode372: 在O(1)时间复杂度删除链表节点
- Linux下g++基本的编译
- Laravel安装第三方扩展包 mews/captcha
- 第十一周作业:GUI简单界面--浏览器