Skip to content

Commit e278eb3

Browse files
committed
https://leetcode.cn/problems/letter-tile-possibilities
1 parent 9a6afcc commit e278eb3

File tree

3 files changed

+122
-25
lines changed

3 files changed

+122
-25
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2592,4 +2592,6 @@ https://leetcode.cn/problems/traffic-light-controlled-intersection/
25922592

25932593
https://leetcode.cn/problems/web-crawler-multithreaded/
25942594

2595+
https://leetcode.cn/problems/letter-tile-possibilities
2596+
25952597
</details>

letter-tile-possibilities/index.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
function numTilePossibilities(tiles: string): number {
2+
const cnt: number[] = new Array(26).fill(0);
3+
for (const c of tiles) {
4+
++cnt[c.charCodeAt(0) - "A".charCodeAt(0)];
5+
}
6+
function dfs(cnt: number[]): number {
7+
let res = 0;
8+
for (let i = 0; i < 26; ++i) {
9+
if (cnt[i] > 0) {
10+
++res;
11+
--cnt[i];
12+
res += dfs(cnt);
13+
++cnt[i];
14+
}
15+
}
16+
return res;
17+
}
18+
return dfs(cnt);
19+
}
20+
export default numTilePossibilities;
Lines changed: 100 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,101 @@
11
[
2-
{
3-
"directory": "C:\\leetcode-test\\web-crawler-multithreaded",
4-
"arguments": ["C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.36.32532\\bin\\HostX64\\x64\\cl.exe", "/nologo", "/std:c++20", "/EHsc", "/IC:\\Users\\Administrator\\AppData\\Local\\.xmake\\packages\\g\\gtest\\1.12.1\\188944e346694ce89eb8bc3d2f0b7138\\include", "/experimental:module", "/TP", "/c", "HtmlParser.ixx", "/Fobuild\\.objs\\web-crawler-multithreaded-test\\windows\\x64\\test\\HtmlParser.ixx.obj", "/ifcOutput", "build\\.gens\\web-crawler-multithreaded-test\\windows\\x64\\test\\rules\\modules\\cache\\16979b81\\leetcode_test.web_crawler_multithreaded.HtmlParser.ifc", "/interface"],
5-
"file": "HtmlParser.ixx"
6-
},
7-
{
8-
"directory": "C:\\leetcode-test\\web-crawler-multithreaded",
9-
"arguments": ["C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.36.32532\\bin\\HostX64\\x64\\cl.exe", "/nologo", "/std:c++20", "/EHsc", "/IC:\\Users\\Administrator\\AppData\\Local\\.xmake\\packages\\g\\gtest\\1.12.1\\188944e346694ce89eb8bc3d2f0b7138\\include", "/experimental:module", "/TP", "/c", "index.ixx", "/Fobuild\\.objs\\web-crawler-multithreaded-test\\windows\\x64\\test\\index.ixx.obj", "/ifcOutput", "build\\.gens\\web-crawler-multithreaded-test\\windows\\x64\\test\\rules\\modules\\cache\\16979b81\\leetcode_test.web_crawler_multithreaded.Solution.ifc", "/interface", "/reference", "leetcode_test.web_crawler_multithreaded.HtmlParser=build\\.gens\\web-crawler-multithreaded-test\\windows\\x64\\test\\rules\\modules\\cache\\16979b81\\leetcode_test.web_crawler_multithreaded.HtmlParser.ifc"],
10-
"file": "index.ixx"
11-
},
12-
{
13-
"directory": "C:\\leetcode-test\\web-crawler-multithreaded",
14-
"arguments": ["C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.36.32532\\bin\\HostX64\\x64\\cl.exe", "/c", "/nologo", "/std:c++20", "/EHsc", "/IC:\\Users\\Administrator\\AppData\\Local\\.xmake\\packages\\g\\gtest\\1.12.1\\188944e346694ce89eb8bc3d2f0b7138\\include", "/experimental:module", "/TP", "/c", "/reference", "leetcode_test.web_crawler_multithreaded.HtmlParser=build\\.gens\\web-crawler-multithreaded-test\\windows\\x64\\test\\rules\\modules\\cache\\16979b81\\leetcode_test.web_crawler_multithreaded.HtmlParser.ifc", "/reference", "leetcode_test.web_crawler_multithreaded.Solution=build\\.gens\\web-crawler-multithreaded-test\\windows\\x64\\test\\rules\\modules\\cache\\16979b81\\leetcode_test.web_crawler_multithreaded.Solution.ifc", "/Fobuild\\.objs\\web-crawler-multithreaded-test\\windows\\x64\\test\\test.cpp.obj", "test.cpp"],
15-
"file": "test.cpp"
16-
},
17-
{
18-
"directory": "C:\\leetcode-test\\web-crawler-multithreaded",
19-
"arguments": ["C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.36.32532\\bin\\HostX64\\x64\\cl.exe", "/nologo", "/std:c++20", "/EHsc", "/experimental:module", "/TP", "/c", "HtmlParser.ixx", "/Fobuild\\.objs\\web-crawler-multithreaded\\windows\\x64\\test\\HtmlParser.ixx.obj", "/ifcOutput", "build\\.gens\\web-crawler-multithreaded-test\\windows\\x64\\test\\rules\\modules\\cache\\16979b81\\leetcode_test.web_crawler_multithreaded.HtmlParser.ifc", "/interface"],
20-
"file": "HtmlParser.ixx"
21-
},
22-
{
23-
"directory": "C:\\leetcode-test\\web-crawler-multithreaded",
24-
"arguments": ["C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.36.32532\\bin\\HostX64\\x64\\cl.exe", "/nologo", "/std:c++20", "/EHsc", "/experimental:module", "/TP", "/c", "index.ixx", "/Fobuild\\.objs\\web-crawler-multithreaded\\windows\\x64\\test\\index.ixx.obj", "/ifcOutput", "build\\.gens\\web-crawler-multithreaded-test\\windows\\x64\\test\\rules\\modules\\cache\\16979b81\\leetcode_test.web_crawler_multithreaded.Solution.ifc", "/interface", "/reference", "leetcode_test.web_crawler_multithreaded.HtmlParser=build\\.gens\\web-crawler-multithreaded-test\\windows\\x64\\test\\rules\\modules\\cache\\16979b81\\leetcode_test.web_crawler_multithreaded.HtmlParser.ifc"],
25-
"file": "index.ixx"
26-
}]
2+
{
3+
"directory": "C:\\leetcode-test\\web-crawler-multithreaded",
4+
"arguments": [
5+
"C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.36.32532\\bin\\HostX64\\x64\\cl.exe",
6+
"/nologo",
7+
"/std:c++20",
8+
"/EHsc",
9+
"/IC:\\Users\\Administrator\\AppData\\Local\\.xmake\\packages\\g\\gtest\\1.12.1\\188944e346694ce89eb8bc3d2f0b7138\\include",
10+
"/experimental:module",
11+
"/TP",
12+
"/c",
13+
"HtmlParser.ixx",
14+
"/Fobuild\\.objs\\web-crawler-multithreaded-test\\windows\\x64\\test\\HtmlParser.ixx.obj",
15+
"/ifcOutput",
16+
"build\\.gens\\web-crawler-multithreaded-test\\windows\\x64\\test\\rules\\modules\\cache\\16979b81\\leetcode_test.web_crawler_multithreaded.HtmlParser.ifc",
17+
"/interface"
18+
],
19+
"file": "HtmlParser.ixx"
20+
},
21+
{
22+
"directory": "C:\\leetcode-test\\web-crawler-multithreaded",
23+
"arguments": [
24+
"C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.36.32532\\bin\\HostX64\\x64\\cl.exe",
25+
"/nologo",
26+
"/std:c++20",
27+
"/EHsc",
28+
"/IC:\\Users\\Administrator\\AppData\\Local\\.xmake\\packages\\g\\gtest\\1.12.1\\188944e346694ce89eb8bc3d2f0b7138\\include",
29+
"/experimental:module",
30+
"/TP",
31+
"/c",
32+
"index.ixx",
33+
"/Fobuild\\.objs\\web-crawler-multithreaded-test\\windows\\x64\\test\\index.ixx.obj",
34+
"/ifcOutput",
35+
"build\\.gens\\web-crawler-multithreaded-test\\windows\\x64\\test\\rules\\modules\\cache\\16979b81\\leetcode_test.web_crawler_multithreaded.Solution.ifc",
36+
"/interface",
37+
"/reference",
38+
"leetcode_test.web_crawler_multithreaded.HtmlParser=build\\.gens\\web-crawler-multithreaded-test\\windows\\x64\\test\\rules\\modules\\cache\\16979b81\\leetcode_test.web_crawler_multithreaded.HtmlParser.ifc"
39+
],
40+
"file": "index.ixx"
41+
},
42+
{
43+
"directory": "C:\\leetcode-test\\web-crawler-multithreaded",
44+
"arguments": [
45+
"C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.36.32532\\bin\\HostX64\\x64\\cl.exe",
46+
"/c",
47+
"/nologo",
48+
"/std:c++20",
49+
"/EHsc",
50+
"/IC:\\Users\\Administrator\\AppData\\Local\\.xmake\\packages\\g\\gtest\\1.12.1\\188944e346694ce89eb8bc3d2f0b7138\\include",
51+
"/experimental:module",
52+
"/TP",
53+
"/c",
54+
"/reference",
55+
"leetcode_test.web_crawler_multithreaded.HtmlParser=build\\.gens\\web-crawler-multithreaded-test\\windows\\x64\\test\\rules\\modules\\cache\\16979b81\\leetcode_test.web_crawler_multithreaded.HtmlParser.ifc",
56+
"/reference",
57+
"leetcode_test.web_crawler_multithreaded.Solution=build\\.gens\\web-crawler-multithreaded-test\\windows\\x64\\test\\rules\\modules\\cache\\16979b81\\leetcode_test.web_crawler_multithreaded.Solution.ifc",
58+
"/Fobuild\\.objs\\web-crawler-multithreaded-test\\windows\\x64\\test\\test.cpp.obj",
59+
"test.cpp"
60+
],
61+
"file": "test.cpp"
62+
},
63+
{
64+
"directory": "C:\\leetcode-test\\web-crawler-multithreaded",
65+
"arguments": [
66+
"C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.36.32532\\bin\\HostX64\\x64\\cl.exe",
67+
"/nologo",
68+
"/std:c++20",
69+
"/EHsc",
70+
"/experimental:module",
71+
"/TP",
72+
"/c",
73+
"HtmlParser.ixx",
74+
"/Fobuild\\.objs\\web-crawler-multithreaded\\windows\\x64\\test\\HtmlParser.ixx.obj",
75+
"/ifcOutput",
76+
"build\\.gens\\web-crawler-multithreaded-test\\windows\\x64\\test\\rules\\modules\\cache\\16979b81\\leetcode_test.web_crawler_multithreaded.HtmlParser.ifc",
77+
"/interface"
78+
],
79+
"file": "HtmlParser.ixx"
80+
},
81+
{
82+
"directory": "C:\\leetcode-test\\web-crawler-multithreaded",
83+
"arguments": [
84+
"C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.36.32532\\bin\\HostX64\\x64\\cl.exe",
85+
"/nologo",
86+
"/std:c++20",
87+
"/EHsc",
88+
"/experimental:module",
89+
"/TP",
90+
"/c",
91+
"index.ixx",
92+
"/Fobuild\\.objs\\web-crawler-multithreaded\\windows\\x64\\test\\index.ixx.obj",
93+
"/ifcOutput",
94+
"build\\.gens\\web-crawler-multithreaded-test\\windows\\x64\\test\\rules\\modules\\cache\\16979b81\\leetcode_test.web_crawler_multithreaded.Solution.ifc",
95+
"/interface",
96+
"/reference",
97+
"leetcode_test.web_crawler_multithreaded.HtmlParser=build\\.gens\\web-crawler-multithreaded-test\\windows\\x64\\test\\rules\\modules\\cache\\16979b81\\leetcode_test.web_crawler_multithreaded.HtmlParser.ifc"
98+
],
99+
"file": "index.ixx"
100+
}
101+
]

0 commit comments

Comments
 (0)