Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement