ΠΠ΅ΡΠΎΠ΄ isPalindromePermutation Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ false, Π΅ΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΊΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π²Ρ
ΠΎΠ΄ΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠ°Π»ΠΈΠ½Π΄ΡΠΎΠΌ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.
package com.javarush.task.task39.task3908;
/*
ΠΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Π»ΠΈ ΠΏΠ°Π»ΠΈΠ½Π΄ΡΠΎΠΌ?
*/
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class Solution {
public static void main(String[] args) {
System.out.println(isPalindromePermutation("Tenet"));
System.out.println(isPalindromePermutation("Π·Π°ΠΊΠ°Π·"));
System.out.println(isPalindromePermutation("ΠΊΠΠ±Π°Π"));
System.out.println(isPalindromePermutation("ΠΊΠΠ±Π°ΠΠΈ"));
System.out.println(isPalindromePermutation("ΠΊΠΎΠΎΠΊ"));
}
public static boolean isPalindromePermutation(String s) {
HashMap<Character, Integer> dictionary = new HashMap<>();
int count = 1;
char[] chars = s.toLowerCase().toCharArray();
for (char letter : chars) {
if (!dictionary.containsKey(letter)) {
dictionary.put(letter, count);
} else {
dictionary.put(letter, dictionary.get(letter) + 1);
}
}
ArrayList<Integer> list = new ArrayList<>(dictionary.values().stream().filter(frequency -> frequency <= 1).collect(Collectors.toList()));
return list.size() <= 1;
}
}