Advertisement
Guest User

anagram

a guest
Sep 12th, 2023
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.73 KB | None | 0 0
  1. import java.util.HashMap;
  2. import java.util.Map;
  3. import java.util.Scanner;
  4.  
  5. public class WordAnagrams {
  6.     public static void main(String[] args) {
  7.         Scanner scanner = new Scanner(System.in);
  8.  
  9.         String word = scanner.nextLine();
  10.         int num = Integer.parseInt(scanner.nextLine());
  11.  
  12.         // създаване на мап колекция
  13.         Map<Character, Integer> frequencyMap = new HashMap<>();
  14.         for (char c : word.toCharArray()) {
  15.             frequencyMap.put(c, frequencyMap.getOrDefault(c, 0) + 1);
  16.         }
  17.  
  18.         for (int i = 0; i < num; i++) {
  19.             String anagram = scanner.nextLine();
  20.             if (anagram.length() == word.length()) {
  21.                //създаване на мап за символите в анаграма
  22.                 Map<Character, Integer> anagramFrequencyMap = new HashMap<>(frequencyMap);
  23.  
  24.                
  25.                 for (char c : anagram.toCharArray()) {
  26.                     if (anagramFrequencyMap.containsKey(c)) {
  27.                         int count = anagramFrequencyMap.get(c);
  28.                         if (count == 1) {
  29.                             anagramFrequencyMap.remove(c);
  30.                         } else {
  31.                             anagramFrequencyMap.put(c, count - 1);
  32.                         }
  33.                     } else {
  34.                        
  35.                         break;
  36.                     }
  37.                 }
  38.  
  39.                
  40.                 if (anagramFrequencyMap.isEmpty()) {
  41.                     System.out.println("Yes");
  42.                 } else {
  43.                     System.out.println("No");
  44.                 }
  45.             } else {
  46.                 System.out.println("No");
  47.             }
  48.         }
  49.     }
  50. }
  51.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement