无法确定时间复杂度

时间:2020-09-10 14:13:05

标签: java time-complexity

所以我应该将输入字符串分成3个回文子字符串。这是一个给出的解决方案,尽管我理解得很好,但是我很难确定其时间复杂度。这是代码:

    public static boolean isPallindrome(String str){
        StringBuffer sb = new StringBuffer(str);
        return str.equals(sb.reverse().toString());
    }

    public static void func(String s){
        for(int i = 1; i < s.length() - 2; i++){
            if (isPallindrome(s.substring(0, i))){
                for(int j = i+1; j < s.length(); j++){
                    if (isPallindrome(s.substring(i, j)) & isPallindrome(s.substring(j))){
                        System.out.print(s.substring(0, i).trim() + "\n" + s.substring(i, j).trim() + "\n" + s.substring(j, s.length()).trim());
                        return;
                    }
                }
            }
        }

func函数的时间复杂度是多少?

我认为它将是O(n ^ 2),但我不确定。

如果正确解释了此功能的时间复杂性,它将对像我这样的初学者很有帮助。谢谢。

0 个答案:

没有答案