Skip to content

Commit 202ba3d

Browse files
authored
Create 5087-letter-tile-possibilities.js
1 parent f42347d commit 202ba3d

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

5087-letter-tile-possibilities.js

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
/**
2+
* @param {string} tiles
3+
* @return {number}
4+
*/
5+
const numTilePossibilities = function(tiles) {
6+
const obj = { count: 0 };
7+
dfs(tiles, new Array(tiles.length).fill(false), new Set(), "", obj);
8+
return obj.count;
9+
};
10+
11+
function dfs(tiles, used, visited, path, obj) {
12+
if (path !== "" && !visited.has(path)) obj.count++;
13+
visited.add(path)
14+
15+
for (let i = 0; i < tiles.length; i++) {
16+
if (used[i]) continue;
17+
used[i] = true;
18+
dfs(tiles, used, visited, path + tiles.charAt(i), obj);
19+
used[i] = false;
20+
}
21+
}

0 commit comments

Comments
 (0)