刷题5. Longest Palindromic Substring
一、题目说明
Longest Palindromic Substring,求字符串中的最长的回文。
Difficuty是Medium
二、我的实现
经过前面4个题目,我对边界考虑越来越“完善”了。
总共提交了5次:
第1、2次:Wrong Answer
主要是"cbbd"错误了,重复的判断逻辑上出了点小问题
第3、4次: Time Limit Exceeded
我本地代码运行没问题的,但是提交后,报错。给了一个超长的用例:
321012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210123210012321001232100123210123
我本地运行是no problem,但是提交后不行。
我继续优化代码,第5次提交终于对了。本次提交代码性能如下:
Runtime: 488 ms, faster than 5.81% of C++ online submissions for Longest Palindromic Substring.
Memory Usage: 8.7 MB, less than 91.03% of C++ online submissions for Longest Palindromic Substring.
完整代码如下
#include<iostream>
#include<string>
using namespace std;
class Solution{
	public:
		string longestPalindrome(string s){
			int maxLength=1;
			string maxStr = s.substr(0,1);
			int len = s.length();
			if(len<=1){
				return s;
			}else{
				int i = 0;
				while(i<len){
					int j = len-1;
					while(j>i){
						int t=i,k=j;
						while(t<k && s[t]==s[k]){
							t++;
							k--;
						}
						if(t==k || t==k+1 && s[t]==s[k]){
							if(j-i+1>maxLength){
								maxLength = j-i+1;
								maxStr = s.substr(i,j-i+1);
							}
							break;
						}
						j--;
					}
					i++;
				}
			}
			return maxStr;
		}
};
int main(){
	Solution s;
	cout<<s.longestPalindrome("ac")<<endl;
 	cout<<s.longestPalindrome("babad")<<endl;
	cout<<s.longestPalindrome("cbbd")<<endl;
      cout<<s.longestPalindrome("321012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210012321001232100123210123210012321001232100123210123"); 
	return 0;
}
刷题5. Longest Palindromic Substring的更多相关文章
- 【LeetCode每天一题】Longest Palindromic Substring(最长回文字串)
		Given a string s, find the longest palindromic substring in s. You may assume that the maximum lengt ... 
- LeetCode第五题:Longest Palindromic Substring
		Given a string s, find the longest palindromic substring in s. You may assume that the maximum lengt ... 
- (python)leetcode刷题笔记05 Longest Palindromic Substring
		5. Longest Palindromic Substring Given a string s, find the longest palindromic substring in s. You ... 
- LeetCode第[5]题(Java):Longest Palindromic Substring 标签:String、动态规划
		题目中文:求最长回文子串 题目难度:Medium 题目内容: Given a string s, find the longest palindromic substring in s. You ma ... 
- leetcode-【中等题】5. Longest Palindromic Substring
		题目 Given a string S, find the longest palindromic substring in S. You may assume that the maximum le ... 
- leetcode 第五题 Longest Palindromic Substring (java)
		Longest Palindromic Substring Given a string S, find the longest palindromic substring in S. You may ... 
- leetcode第五题--Longest Palindromic Substring
		Problem:Given a string S, find the longest palindromic substring in S. You may assume that the maxim ... 
- 【LeetCode算法题库】Day2:Median of Two Sorted Arrays & Longest Palindromic Substring & ZigZag Conversion
		[Q4] There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of th ... 
- 5. Longest Palindromic Substring 返回最长的回文子串
		[抄题]: Given a string s, find the longest palindromic substring in s. You may assume that the maximum ... 
随机推荐
- 心里没点B树,怎能吃透数据库索引底层原理?
			二叉树(Binary Search Trees) 二叉树是每个结点最多有两个子树的树结构.通常子树被称作“左子树”(Left Subtree)和“右子树”(Right Subtree).二叉树常被用于 ... 
- wpf 程序启动显示图片
			一.设置图片的生成操作 程序启动时会出现0.5秒的图片显示,再显示程序界面. 二.写代码实现相同效果 /// <summary> /// App.xaml 的交互逻辑 /// </s ... 
- Mysql单实例数据库安装
			第1章 MySQL数据库安装 在当今的大中型互联网企业里,MySQL数据库服务几乎都是运行在Linux系列操作系统上,当然,你在可以运行在Windows/Unix等商业操作系统上,大中型互联网企业使用 ... 
- Linq To Sqlite使用心得
			若要使用Linq To Sqlite类库,可以安装Devart Linq Connect Model,如图: 新建这个Model就可以和Linq To Sql一样使用Linq模型,下载地址:https ... 
- django 版本 对应pyhton版本
			对应关系 
- 洛谷P1582 倒水      二进制的相关应用
			https://www.luogu.org/problem/P1582 #include<bits/stdc++.h> using namespace std; long long N,K ... 
- MySQL | 查看log日志
			1. 进入mysql mysql -u用户名 -p密码 2. 开启日志 et global general_log=on: 3. 查看mysql日志文件的路径 show variables like ... 
- 2019牛客多校第五场 F maximum clique 1  状压dp+最大独立集
			maximum clique 1 题意 给出一个集合s,求每个子集的最大独立集的权值和(权值是独立集的点个数) 分析 n比较小,一股浓浓的暴力枚举每一个子集的感觉,但是暴力枚举模拟肯定会T,那么想一想 ... 
- Android监听消息通知栏点击事件
			Android监听消息通知栏点击事件 使用BroadCastReceiver 1 新建一个NotificationClickReceiver 类,并且在清单文件中注册!! public class N ... 
- oracle 锁表处理
			1.查询 select object_name,machine,s.sid,s.serial#from v$locked_object l,dba_objects o ,v$session swher ... 
