package com.interview.flag.g;
import java.util.Arrays;
import java.util.Comparator;
/**
* Created by stefanie on 1/27/15.
*/
public class G42_MaxNonDuplicateCharStrings {
public String find(String[] words){
Comparator<String> comparator = new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o1.length() - o2.length();
}
};
Arrays.sort(words, comparator);
int[] identities = new int[words.length];
for(int i = 0; i < words.length; i++){
int mark = 0;
String word = words[i].toLowerCase();
for(int j = 0; j < word.length(); j++) mark |= (1 << (word.charAt(j) - 'a'));
identities[i] = mark;
}
for(int i = words.length - 2; i >= 0; i--){
for(int j = words.length - 1; j > i; j--){
if((identities[i] & identities[j]) == 0) return words[i] + "," + words[j];
}
}
return "";
}
public static void main(String[] args){
G42_MaxNonDuplicateCharStrings finder = new G42_MaxNonDuplicateCharStrings();
String[] words = new String[]{"you","like","work","I","right","place","facebook"};
System.out.println(finder.find(words));
}
}