funWithAnagrams
public class FunWithAnagrams {
public static boolean areAnagram(String w1, String w2) {
char[] chr1 = w1.toCharArray();
char[] chr2 = w2.toCharArray();
// Sorting the two arrays and checking for equality also works, but this is faster
int[] count = new int[26];
for (char ch : chr1) {
count[ch - 97] = count[ch - 97] + 1;
}
for (char ch : chr2) {
count[ch - 97] = count[ch - 97] - 1;
}
for (int n : count) {
if (n != 0) {
return false;
}
}
return true;
}
public static String key(String word) {
char[] chrs = word.toCharArray();
Arrays.sort(chrs);
return new String(chrs);
}
public static List<String> funWithAnagrams(List<String> s) {
List<String> ans = new LinkedList<String>();
Set<String> found = new HashSet<String>();
for (int i=0; i<s.size(); i++) {
String word = s.get(i);
String key = key(word);
if (!found.contains(key)) {
ans.add(word);
found.add(key);
}
}
Collections.sort(ans);
return ans;
}
public static void main(String[] args) throws FileNotFoundException {
//List<String> a = Arrays.asList("code", "doce", "ecod", "framer", "frame");
List<String> a = Arrays.asList("code", "aaagmnrs", "anagrams", "doce");
System.out.println(funWithAnagrams(a));
}
}
Are there any code examples left?
New code examples in category Other
-
Other 2023-03-27 22:50:10 how to select the whole line in vscode with keyboard shortcut
-
Other 2022-03-27 22:45:24 income of a web developer
-
Other 2022-03-27 22:35:01 \pyrcc_main.py: File does not exist 'resources.qrc'
-
Other 2022-03-27 22:30:45 rick roll embed code
-
Other 2022-03-27 22:20:08 Circuit_04_Potentiometer
-
Other 2022-03-27 22:20:05 iterative power
-
Other 2022-03-27 22:15:11 flutter run all
-
Other 2022-03-27 22:10:05 when is karlson release
-
Other 2022-03-27 22:10:02 wp .htaccess example
-
Other 2022-03-27 22:00:08 bash pause in file read line by line