Thursday, December 4, 2014

Find Largest Palindrome in the given string

Find the largest palindrom present in the string

Input: abcdefgmalayalam

Output: malayalam


Solution


public class LongestPalindrome {

private static boolean isPalindrome(String str) {

int length = str.length();

for (int i = 0; i < ((length / 2) + 1); i++) {

if (str.charAt(i) != str.charAt(length - i - 1))
return false;

}
return true;
}

private static String largestPalindrome(String str) {

int length = str.length();

String largestPalindrome = "";

for (int i = 0; i < length - 1; i++) {

for (int j = length - 1; j >= 0 && j != i; j--) {

String subStr = str.substring(i, j + 1);

if (isPalindrome(subStr)) {
largestPalindrome = largestPalindrome.length() < subStr
.length() ? subStr : largestPalindrome;
}
}

}

return largestPalindrome;

}

public static void main(String[] args) {
// Check for Palindrome
System.out.println(isPalindrome("dog"));
System.out.println(isPalindrome("malayalam"));
System.out.println(isPalindrome("aaaabbb"));

// Check largestPalindrome

System.out.println(largestPalindrome("abcdefgmalayalam"));

}


}

Wednesday, October 22, 2014

Find the missing elements in a sequence using XOR

Find the missing number in a sequence using XOR method.

Input: 1,2,3,4,5,6,7,8,9,11,12,13,14,15

Output: 10


Solution: 

Java




int[] arr = new int[]{1,2,3,4,5,6,7,8,9,11,12,13,14,15};
int sum = arr.length*(arr.length+1)/2;
// sum=120;
//System.out.println(sum);
int val = sum;
for(int i=0;i val = val^arr[i];
}
System.out.println(val^sum);