gur111 icon

LongestPalindrome w/ Itay

gur111 | PRO | 04/01/19 06:18:50 PM UTC | 0 ⭐ | 610 👁️ | Never ⏰ | []
Java |

860 B

|

None

|

0 👍

/

0 👎

public class MyClass{
    
    public static boolean hasPalindrome(int[] arr, int len){
        int maxEven = 0, maxOdd = 0;
        for(int i = len/2; i<arr.length-len/2; i++){
            maxOdd = Math.max(maxOdd, polFromIndexOdd(arr, i));
            maxEven = Math.max(maxEven, polFromIndexEven(arr, i));
        }
        
        return Math.max(maxEven, maxOdd);
    }
    
    
    public static int polFromIndexEven(int[] arr, int start){
        int i = start, j = start+1, count = 1;
        if(start<0 || start >= arr.length-1)
            return 0;
        
        while(i>=0 && j < arr.length && arr[i]==arr[j]){
            count += 2;
            i--;
            j++;
        }
        return count;
    }
    
    public static int polFromIndexOdd(int[] arr, int start){
        int i = start-1, j = start+1, count = 1;
        if(start<0 || start >= arr.length)
            return 0;
        
        while(i>=0 && j < arr.length && arr[i]==arr[j]){
            count += 2;
            i--;
            j++;
        }
        return count;
    }
}

Comments