zoukankan      html  css  js  c++  java
  • 5.Longest Palindrome substring

        /*
         * 5.Longest Palindrome substring 
         * 2016-4-9 by Mingyang 自然而然的想到用dp来做
         * 刚开始自己做的时候分的条件太细,两个index相等,相差小于3,还有其他
         * 但这里这个if写的很好,一个代表了所有为true的情况
         * 根本不用管为false的情况,因为自然而然为false
         * 
         */
        public String longestPalindrome(String s) {
            String res = " ";
            if (s == null || s.length() == 0)
                return "";
            int len = s.length();
            boolean[][] dp = new boolean[len][len];
            int maxLen = 0;
            for (int i = len - 1; i >= 0; i--) {
                for (int j = i; j < len; j++) {
                    if (s.charAt(i) == s.charAt(j)
                            && (j - i <= 2 || dp[i + 1][j - 1])) {
                        dp[i][j] = true;
                        if (maxLen < j - i + 1) {
                            maxLen = j - i + 1;
                            res = s.substring(i, j + 1);
                            // 这是用来切断一个string,使之只取一个小部分的值
                        }
                    }
                }
            }
            return res;
        }
  • 相关阅读:
    每日总结
    每日总结
    每日总结
    每日总结
    每日总结
    每日总结
    每日总结
    每日总结
    每日总结
    jenkins无需登录,查看测试任务结果,allure报告
  • 原文地址:https://www.cnblogs.com/zmyvszk/p/5373378.html
Copyright © 2011-2022 走看看