fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class AnagramCheck_Sort{
  9. public static boolean isAnagram(String s1, String s2){
  10. // Early termination check, if strings are of unequal lengths,
  11. // then they cannot be anagrams
  12. if (s1==null || s2==null || s1.length() != s2.length() ) {
  13. return false;
  14. }
  15. s1=s1.toLowerCase();s2=s2.toLowerCase();
  16. Integer p1 = 1; Integer p2 = 1;
  17. for(int i=0, len=s1.length(); i<len; i++){
  18. char c1 = s1.charAt(i);char c2 = s2.charAt(i);
  19. p1 = p1 * primesMap.get(c1);p2 = p2 * primesMap.get(c2);
  20. }
  21.  
  22. return p1.equals(p2);
  23. }
  24. public static void main(String[] args){
  25. primesMap.put('a',2);primesMap.put('b',3);primesMap.put('c',5);primesMap.put('d',7);primesMap.put('e',11);primesMap.put('f',13);
  26. primesMap.put('g',17);primesMap.put('h',19);primesMap.put('i',23);primesMap.put('j',29);primesMap.put('k',31);primesMap.put('l',37);
  27. primesMap.put('m',41);primesMap.put('n',43);primesMap.put('o',47);primesMap.put('p',53);primesMap.put('q',59);primesMap.put('r',61);
  28. primesMap.put('s',67);primesMap.put('t',71);primesMap.put('u',73);primesMap.put('v',79);primesMap.put('w',83);primesMap.put('x',89);
  29. primesMap.put('y',97);primesMap.put('z',101);
  30.  
  31. System.out.println(isAnagram("Anagram","nagaram"));
  32. }
  33.  
  34. private static Map<Character, Integer> primesMap = new HashMap<>();
  35. }
Success #stdin #stdout 0.1s 320512KB
stdin
Standard input is empty
stdout
Standard output is empty