leetcode#5-Longest Palindromic Substring-java
来源:互联网 发布:迅龙数据恢复怎么样 编辑:程序博客网 时间:2024/06/09 14:51
题目:
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"
解法一:
思路:考虑最长子串长度是奇数还是偶数,分两种情况 并且找到相同之后,向两边扩散知道不相同为止。 int l; int maxlen; public String longestPalindrome(String s) { if(s.length()<=1){ return s; } for(int i=0;i<s.length()-1;i++){ Palindrome(s,i,i); Palindrome(s,i,i+1); } return s.substring(l,l+maxlen); } public void Palindrome(String s,int j,int k){ while (j>=0 && k<s.length() && s.charAt(j)==s.charAt(k)){ j--; k++; } if(maxlen<k-j-1){ l = j+1; maxlen = k-j-1; } }
思路二:
自己也曾尝试使用StringBuilder以及其函数reverse()进行操作但是由于数据量大,会超出时间限制,不做赘述
思路三:
思路:动态规划 之前自己是完成了所有easy的题目,刚开始middle难度, 做了三道,感觉middle大部分的最优解是dp, 所以可能会先系统的学习dp,再做leetcode中的middle,更新博客了。 int n = s.length(); String res = null; boolean[][] dp = new boolean[n][n]; for (int i = n - 1; i >= 0; i--) { for (int j = i; j < n; j++) { dp[i][j] = s.charAt(i) == s.charAt(j) && (j - i < 3 || dp[i + 1][j - 1]); if (dp[i][j] && (res == null || j - i + 1 > res.length())) { res = s.substring(i, j + 1); } } } return res;
阅读全文
0 0
- 【leetcode with java】5 Longest Palindromic Substring
- [leetcode-5]Longest Palindromic Substring(java)
- leetcode#5-Longest Palindromic Substring-java
- [Leetcode] Longest Palindromic Substring (Java)
- Longest Palindromic Substring leetcode java
- [LeetCode][Java]Longest Palindromic Substring
- LeetCode-Longest Palindromic subString(java)
- LeetCode : Longest Palindromic Substring [java]
- leetcode:Longest Palindromic Substring java
- [LeetCode]Longest Palindromic Substring(Java)
- [LeetCode] Longest Palindromic Substring(java)
- leetcode Longest Palindromic Substring(Java)
- 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
- BeautifulSoup CSS 选择器
- oracle数据库对date字段类型进行排序
- android多媒体总结
- Java基础——JSP(一)
- token和sign
- leetcode#5-Longest Palindromic Substring-java
- iOS 中的 Attribute
- mongo使用笔记
- 使用Calendar获取并修改时间
- 帆软 URL中文编码导致报表查询不到想要结果
- 基金a类和c类 收费什么区别
- 【哈哈日语】新编一册主要文法点(第一篇)
- JAVA写的计算器
- SecureCRT 自动断开连接的问题