Letter Tile Possibilities LeetCode solution in Java
1class Solution {2private int result = 0;34public int numTilePossibilities(String tiles) {5Map<Character, Integer> map = new HashMap<>();6for (char c : tiles.toCharArray()) {7map.put(c, map.getOrDefault(c, 0) + 1);8}9find(map);10return result - 1;11}1213public void find(Map<Character, Integer> map) {14result++;15for (Map.Entry<Character, Integer> m : map.entrySet()) {16char c = m.getKey();17int val = m.getValue();18if (val > 0) {19map.put(c, val - 1);20find(map);21map.put(c, val);22}23}24}25}