Advertisement
gur111

LongestPalindrome w/ Itay

Apr 1st, 2019
307
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.86 KB | None | 0 0
  1. public class MyClass{
  2.    
  3.     public static boolean hasPalindrome(int[] arr, int len){
  4.         int maxEven = 0, maxOdd = 0;
  5.         for(int i = len/2; i<arr.length-len/2; i++){
  6.             maxOdd = Math.max(maxOdd, polFromIndexOdd(arr, i));
  7.             maxEven = Math.max(maxEven, polFromIndexEven(arr, i));
  8.         }
  9.        
  10.         return Math.max(maxEven, maxOdd);
  11.     }
  12.    
  13.    
  14.     public static int polFromIndexEven(int[] arr, int start){
  15.         int i = start, j = start+1, count = 1;
  16.         if(start<0 || start >= arr.length-1)
  17.             return 0;
  18.        
  19.         while(i>=0 && j < arr.length && arr[i]==arr[j]){
  20.             count += 2;
  21.             i--;
  22.             j++;
  23.         }
  24.         return count;
  25.     }
  26.    
  27.     public static int polFromIndexOdd(int[] arr, int start){
  28.         int i = start-1, j = start+1, count = 1;
  29.         if(start<0 || start >= arr.length)
  30.             return 0;
  31.        
  32.         while(i>=0 && j < arr.length && arr[i]==arr[j]){
  33.             count += 2;
  34.             i--;
  35.             j++;
  36.         }
  37.         return count;
  38.     }
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement