You are viewing a single comment's thread. Return to all comments →
public static int sherlockAndAnagrams(String s) { HashMap<String, Integer> map = new HashMap<>(); for (int i = 0; i < s.length(); i++) { for (int j = i; j < s.length(); j++) { char[] arr = s.substring(i, j + 1).toCharArray(); Arrays.sort(arr); String keyVal = String.valueOf(arr); map.put(keyVal, map.getOrDefault(keyVal, 0) + 1); } } // System.out.println(map); int pairs = 0; for (String key : map.keySet()) { Integer val = map.get(key); pairs += (val * (val - 1)) / 2; } return pairs; }
Seems like cookies are disabled on this browser, please enable them to open this website
Sherlock and Anagrams
You are viewing a single comment's thread. Return to all comments →