动态规划(12)
来源:互联网 发布:手机淘宝怎么取消退款 编辑:程序博客网 时间:2024/05/20 16:13
原题:
/** * Created by gouthamvidyapradhan on 24/02/2017. * Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000. * <p> * Example: * <p> * Input: "babad" * <p> * Output: "bab" * <p> * Note: "aba" is also a valid answer. * Example: * <p> * Input: "cbbd" * <p> * Output: "bb" */
答案:
public class LongestPaliandromicSubstring { /** * Main method * * @param args * @throws Exception */ public static void main(String[] args) throws Exception { System.out.println(new LongestPaliandromicSubstring().longestPalindrome("forgeeksskeegfor")); } public String longestPalindrome(String s) { int l = s.length(); int startIndex = 0; int maxLen = 1; boolean[][] A = new boolean[l][l]; for (int i = 0, j = 0; i < l; i++, j++) A[i][j] = true; for (int i = 0, j = i + 1; j < l; i++, j++) { if (s.charAt(i) == s.charAt(j)) { A[i][j] = true; startIndex = i; maxLen = 2; } } for (int k = 3; k <= l; k++) { for (int i = 0, j = k - 1; j < l; i++, j++) { if (s.charAt(i) == s.charAt(j)) { A[i][j] = A[i + 1][j - 1]; if (A[i][j]) { if (k > maxLen) { startIndex = i; maxLen = k; } } } } } return s.substring(startIndex, startIndex + maxLen); }}
阅读全文
0 0
- 动态规划(12)
- 【动态规划(一)】动态规划基础
- 动态规划(1)
- 动态规划(2)
- 动态规划(3)
- 动态规划(4)
- HDOJ2046(动态规划)
- 动态规划(one)
- 动态规划(读书笔记)
- Pearls(动态规划)
- skiing(动态规划)
- HDU4001(动态规划)
- 作业题 (动态规划)
- Zipper(动态规划)
- 滑雪(动态规划)
- 动态规划(1)
- 动态规划(2)
- HDU5569(动态规划)
- WebDriverAgent : Command "bootstrap" does not exist解决办法:
- layui 表单标签的校验
- 【洛谷 2341】[HAOI2006]受欢迎的牛
- 过滤器filter学习2—dispatcher拦截案例
- 13.slab分配器
- 动态规划(12)
- 获取Android、iOS 设备ID
- Project configuration is not up-to-date with pom.xml. Select: Maven->Update Project... from the
- Unable to open debugger port (127.0.0.1:63777): java.net.BindException "Address already in use: JVM
- 如何把一个texture2d显示在umg上
- 动态规划(13)
- 在线安装eclipse中html/jsp/xml editor插件 eclipseeditor
- 如何在Android Studio 使用git 上传项目到github
- 动态规划(14)