LeetCode-5. Longest Palindromic Substring
来源:互联网 发布:鲨鱼01总决赛数据 编辑:程序博客网 时间:2024/05/05 20:20
难受,本来感觉很简单的题,就是想不出不TLE的solution,唉
5.
Longest Palindromic Substring
Example:
Input: “babad”
Output: “bab”
Note: “aba” is also a valid answer.
Example:Input: “cbbd”
Output: “bb”
一开始只想到个o(n^2)的解,想着肯定会TLE,不过边写边想思路就是了。
class Solution(object): def isPal(self,str): return str==str[::-1] def longestPalindrome(self, s): """ :type s: str :rtype: str """ ans=""; for i in range(len(s)): for j in range(len(s)+1): if j<=i: continue if self.isPal(s[i:j]): if len(s[i:j])>len(ans): ans=s[i:j] return ans
嘻嘻,python写起来真的舒服,这是唯一舒服的地方
蓝后不出所料的TLE了
Submission Details
78 / 94 test cases passed.
Status: Time Limit Exceeded
Submitted: 41 minutes ago
Last executed input:
“gphyvqruxjmwhonjjrgumxjhfyupajxbjgthzdvrdqmdouuukeaxhjumkmmhdglqrrohydrmbvtuwstgkobyzjjtdtjroqpyusfsbjlusekghtfbdctvgmqzeybnwzlhdnhwzptgkzmujfldoiejmvxnorvbiubfflygrkedyirienybosqzrkbpcfidvkkafftgzwrcitqizelhfsruwmtrgaocjcyxdkovtdennrkmxwpdsxpxuarhgusizmwakrmhdwcgvfljhzcskclgrvvbrkesojyhofwqiwhiupujmkcvlywjtmbncurxxmpdskupyvvweuhbsnanzfioirecfxvmgcpwrpmbhmkdtckhvbxnsbcifhqwjjczfokovpqyjmbywtpaqcfjowxnmtirdsfeujyogbzjnjcmqyzciwjqxxgrxblvqbutqittroqadqlsdzihngpfpjovbkpeveidjpfjktavvwurqrgqdomiibfgqxwybcyovysydxyyymmiuwovnevzsjisdwgkcbsookbarezbhnwyqthcvzyodbcwjptvigcphawzxouixhbpezzirbhvomqhxkfdbokblqmrhhioyqubpyqhjrnwhjxsrodtblqxkhezubprqftrqcyrzwywqrgockioqdmzuqjkpmsyohtlcnesbgzqhkalwixfcgyeqdzhnnlzawrdgskurcxfbekbspupbduxqxjeczpmdvssikbivjhinaopbabrmvscthvoqqbkgekcgyrelxkwoawpbrcbszelnxlyikbulgmlwyffurimlfxurjsbzgddxbgqpcdsuutfiivjbyqzhprdqhahpgenjkbiukurvdwapuewrbehczrtswubthodv”
然后我想着能不能用left和right两个标记和一个for来实现,想了好久没想出来(其实也就想了半小时),于是看了下别人的解,原来是是这样
首先sub=”” //最长的长度的子串
for i in range(len(str)):
以i作为最右的index,然后检测i-len(sub)和i-1-len(sub)是否是palindromic(之所以要-1是因为有可能是奇也可能是偶),然后如果是的话,sub=该子串,最后返回sub
写完上面这段话然后我就去睡觉了,第二天纠结了一天,在想看了别人的思路写出来的不是自己的代码,纠结了好久还是决定实现一遍,反正我也想不出来更好的办法了
于是课上花了十几分钟实现了一下
class Solution(object): def isPal(self,str,left,right):#include index left and index right if left<0: return False return str[left:right+1]==str[left:right+1][::-1] def longestPalindrome(self, s): """ :type s: str :rtype: str """ ans="" for i in range(len(s)): if self.isPal(s,i-len(ans),i): ans=s[i-len(ans):i+1] if self.isPal(s,i-len(ans)-1,i): ans=s[i-len(ans)-1:i+1] return ans
一遍Accepted,而且python的语法真心简单粗暴,写起来简直是一种享受,舒服的要死
- 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
- HIVE 自定义函数之UDF/UDAF/UDTF
- mysql5.6源码包地址
- CENTOS6 下编译安装 MYSQL 5.6.26
- PopWindow自由弹窗
- Python3 urllib(网络数据获取 模块)
- LeetCode-5. Longest Palindromic Substring
- HTML HTML基本语法
- 【error】Intellij报错Usage of API documented as @since和Error:java: Compilation failed: internal java com
- HTML CSS基本语法
- 【心得】SSH中小心得
- Macbook 终端Terminal下如何查看文件生成日期和修改日期
- 基于mini2440嵌入式linux上整合一套Domoticz智能家居系统(六)使用domoticz联合arm上的mosquitto实现Android客户端远程控制
- 【心得】SSH中的注意
- test