LeetCode进阶之路(Longest Palindromic Substring)
来源:互联网 发布:营销网络怎么填 编辑:程序博客网 时间:2024/05/23 21:21
想屎的心都有了。。。
Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 1000, and there exists one unique longest palindromic substring.
求最长回文串。
思路很简单,遍历一个每个字符,然后向两边发散,存在两种情况,一种abcba,还有一种是abba,回文串存入map中,遍历完就去map去长度最大的。可是可是。。。
Time Limit Exceeded 心塞。。。周末找时间另外想法子吧,哎。
public static String longestPalindrome(String ss) { String s = ss.toLowerCase(); Map<Integer,String> map = new HashMap<Integer, String>(); if(s.length() == 1){ return s; } for(int i = 0;i<s.length()-1;i++) { String st = null; String st2 = null; for(int j = 1;j<s.length()-i;j++){ if((i-j)>=0 && (i+j)< s.length()&&s.charAt(i-j) == s.charAt(i+j)) { st = ss.substring(i-j, i+j+1); } else { break; } } for(int j = 0;j<s.length()-1-i;j++){ if((i-j)>=0&& (i+j+1)< s.length() &&s.charAt(i-j) == s.charAt(i+j+1)) { st2 = ss.substring(i-j, i+j+2); } else { break; } } if(st != null){ map.put(st.length(), st); } if(st2 != null){ map.put(st2.length(), st2); } } int max = 0; for (Integer st : map.keySet()) {if(st > max) {max = st;}} return map.get(max); }很晚了,碎觉,这么道题花了差不多一个小时,最后还是没通过,真菜啊。
7月7日修改:
昨天提交的时候一直是time limited Exceeded,今天中午吃饭的时候灵光一闪,发现应该是多了一个for循环,回工位试了一把,果然是,下面是更新版本:
public static String longestPalindrome(String ss) { String s = ss.toLowerCase(); Map<Integer,String> map = new HashMap<Integer, String>(); int max = 0; String st2 = null; if(s.length() == 1){ return s; } for(int i = 0;i<s.length()-1;i++) { String st = null; for(int j = 1;j<s.length()-i;j++){ if((i-j)>=0 && (i+j)< s.length()&&s.charAt(i-j) == s.charAt(i+j)) { st = ss.substring(i-j, i+j+1); } else { break; } if(st.length() > max) { max = st.length(); st2 = st; } } for(int j = 0;j<s.length()-1-i;j++){ if((i-j)>=0&& (i+j+1)< s.length() &&s.charAt(i-j) == s.charAt(i+j+1)) { st = ss.substring(i-j, i+j+2); } else { break; } if(st.length() > max) { max = st.length(); st2= st; } } } return st2; }
0 0
- LeetCode进阶之路(Longest Palindromic Substring)
- leetcode进阶之路——Longest Palindromic Substring
- leetcode之路005 Longest Palindromic Substring
- LeetCode学习之路-Longest Palindromic Substring
- leetcode之Longest Palindromic Substring
- LeetCode之Longest Palindromic Substring
- LeetCode之Longest Palindromic Substring
- 【Leetcode】之Longest Palindromic Substring
- LeetCode之Longest Palindromic Substring
- leetcode之longest palindromic substring
- LeetCode进阶之路(Longest Substring Without Repeating Characters)
- LeetCode: Longest Palindromic Substring
- LeetCode Longest Palindromic Substring
- LeetCode: Longest Palindromic Substring
- [Leetcode] Longest Palindromic Substring
- [LeetCode] Longest Palindromic Substring
- Leetcode : Longest Palindromic Substring
- [LeetCode]Longest Palindromic Substring
- SpringMVC如何接受POST请求中的json参数
- 算法/ACM汇总
- Fragment之我的解决方案:Fragmentation
- IEEE Xplore PDF-Checker遇到的问题以及解决方案
- CUDA入门(一)
- LeetCode进阶之路(Longest Palindromic Substring)
- Android N - Data Saver
- Android:Activity 与 Fragment 通信 (99%) 完美解决方案
- Android 内存泄漏总结
- 检测窗口中打开的网页
- 一个ListView的使用
- [Android]Android SDK/NDK/Studio 官方下载地址
- Android Volley框架的使用(四)图片的三级缓存策略(内存LruCache+磁盘DiskLruCache+网络Volley)
- Mysql 主从架构之-主从配置