Skip to content

Instantly share code, notes, and snippets.

@felixa1243
Created December 29, 2022 13:51
Show Gist options
  • Save felixa1243/d678bdb9fd7d3f71892afa0073158100 to your computer and use it in GitHub Desktop.
Save felixa1243/d678bdb9fd7d3f71892afa0073158100 to your computer and use it in GitHub Desktop.
1.palindrome
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
public class GroupByAnagram {
public static String[][] groupAnagrams(String[] words) {
Map<String, List<String>> anagrams = new TreeMap<>();
for (String word : words) {
char[] chars = word.toCharArray();
sortChar(chars);
String sortedWord = new String(chars);
if (anagrams.containsKey(sortedWord)) {
anagrams.get(sortedWord).add(word);
} else {
List<String> list = new ArrayList<>();
list.add(word);
anagrams.put(sortedWord, list);
}
}
String[][] result = new String[anagrams.size()][];
int i = 0;
for (List<String> list : anagrams.values()) {
result[i] = list.toArray(new String[list.size()]);
i++;
}
return result;
}
public static char[] sortChar(char[] chars) {
for (int i = 0; i < chars.length - 1; i++) {
for (int j = 0; j < chars.length - i - 1; j++) {
if (chars[j] > chars[j + 1]) {
char temp = chars[j];
chars[j] = chars[j + 1];
chars[j + 1] = temp;
}
}
}
return chars;
}
public static void main(String[] args) {
String[] words = {"cook","save","aves","vase","taste","state","map"};
String[][] anagramGroups = groupAnagrams(words);
for (String[] group : anagramGroups) {
for (String word : group) {
System.out.print(word + " ");
}
System.out.println();
}
}
}
2.SQL Query
SELECT * FROM CHILDREN LEFT JOIN PARENT ON PARENT.id = CHILDREN.parent_id;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment