Back to all solutions
#1079 - Letter Tile Possibilities
Problem Description
You have n tiles, where each tile has one letter tiles[i] printed on it.
Return the number of possible non-empty sequences of letters you can make using the letters printed on those tiles.
Solution
/**
* @param {string} tiles
* @return {number}
*/
var numTilePossibilities = function(tiles) {
const map = {};
tiles.split('').forEach(t => map[t] = (map[t] ?? 0) + 1);
return backtrack();
function backtrack() {
let count = 0;
for (const key of Object.keys(map)) {
if (!map[key]) continue;
count += 1;
map[key] -= 1;
count += backtrack();
map[key] += 1;
}
return count;
}
};