[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/anishLearnsToCode/hackerrank-java/master/src/JavaAnagrams.java [Back]  [Original]

// https://www.hackerrank.com/challenges/java-anagrams/problem

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class JavaAnagrams {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String a = scanner.nextLine();
        String b = scanner.nextLine();

        if (isAnagram(a, b)) {
            System.out.println("Anagrams");
        } else {
            System.out.println("Not Anagrams");
        }
    }

    private static boolean isAnagram(String a, String b) {
        int[] aCharacterFrequencies = getCharacterFrequencies(a);
        int[] bCharacterFrequencies = getCharacterFrequencies(b);
        return areEqual(aCharacterFrequencies, bCharacterFrequencies);
    }

    private static int[] getCharacterFrequencies(String string) {
        int[] result = new int[26];
        string = string.toLowerCase();
        for (int index = 0 ; index < string.length() ; index++) {
            result[string.charAt(index) - 97]++;
        }
        return result;
    }

    private static boolean areEqual(int[] a, int[] b) {
        for (int index = 0 ; index < a.length ; index++) {
            if (a[index] != b[index]) {
                return false;
            }
        }
        return true;
    }

    private static boolean areAnagrams(String a, String b) {
        Map aCharacterFrequencies = getFrequencies(a);
        Map bCharacterFrequencies = getFrequencies(b);
        return aCharacterFrequencies.equals(bCharacterFrequencies);
    }

    private static Map getFrequencies(String string) {
        Map frequencies = new HashMap();
        string = string.toLowerCase();
        for (int index = 0 ; index < string.length() ; index++) {
            char character = string.charAt(index);
            frequencies.put(character, frequencies.getOrDefault(character, 0) + 1);
        }
        return frequencies;
    }
}

Web Proxy Viewer  |  New URL  |  Original Page