(X)leetcode_5最長回文サブストリング

文字列sを考えると、秒で最長の回文構造部分文字列を見つけます。あなたは、sの最大の長さが1000であると仮定してもよいです。

1.暴力行為

public static String longestPalindrome(String str) {
        Map resultMap = new HashMap<String, Integer>();
        int max = 0;
        String longStr = "";
        for(int i = 0 ;i<str.length()-1;i++){
            for(int j = i+1; j<=str.length();j++){
                System.out.println(str.substring(i,j));
                if(isRight(str.substring(i,j))){
                    if(max < (j-i)){
                        max = j-i;
                        longStr = str.substring(i,j);
                    }
                    resultMap.put(str.substring(i,j), j-i);
                }
            }
        }
        System.out.println(resultMap);
        return longStr;
    }

    public static boolean isRight(String s){
        if(s.length() == 1){
            return true;
        }
        char[] chars = s.toCharArray();
        boolean flag = true;
        for(int i = 0; i<= s.length()/2; i++){
            if(chars[i] != chars[s.length()-1-i]){
                flag = false;
                break;
            }
        }
        return flag;
    }

タイムアウトを提出した後、すべてのN ^ 3の後emmm。
継続するには

公開された46元の記事 ウォン称賛19 ビュー50000 +

おすすめ

転載: blog.csdn.net/qq_28929579/article/details/100560049