Skip to content

Commit c6915c3

Browse files
committed
add JS solution for problem 2306
1 parent 4a57286 commit c6915c3

File tree

2 files changed

+35
-1
lines changed

2 files changed

+35
-1
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ If you would like to have collaborator permissions on the repo to merge your own
8585
<sub>[2348 - Number of Zero-Filled Subarrays](https://leetcode.com/problems/number-of-zero-filled-subarrays/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](cpp%2F2348-number-of-zero-filled-subarrays.cpp)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](java%2F2348-number-of-zero-filled-subarrays.java)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](kotlin%2F2348-number-of-zero-filled-subarrays.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F2348-number-of-zero-filled-subarrays.py)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub>
8686
<sub>[2405 - Optimal Partition of String](https://leetcode.com/problems/optimal-partition-of-string/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](java%2F2405-optimal-partition-of-string.java)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](kotlin%2F2405-optimal-partition-of-string.kt)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub>
8787
<sub>[1396 - Design Underground System](https://leetcode.com/problems/design-underground-system/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](java%2F1396-design-underground-system.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F1396-design-underground-system.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F1396-design-underground-system.kt)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub>
88-
<sub>[2306 - Naming a Company](https://leetcode.com/problems/naming-a-company/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](java%2F2306-naming-a-company.java)</div></sub> | <sub><div align='center'></div></sub> | <sub><div align='center'>[✔️](kotlin%2F2306-naming-a-company.kt)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub>
88+
<sub>[2306 - Naming a Company](https://leetcode.com/problems/naming-a-company/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](java%2F2306-naming-a-company.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F2306-naming-a-company.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F2306-naming-a-company.kt)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub>
8989

9090
### Two Pointers
9191

javascript/2306-naming-a-company.js

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
/**
2+
* @param {string[]} ideas
3+
* @return {number}
4+
*/
5+
var distinctNames = function(ideas) {
6+
let sets = [];
7+
for (let i = 0; i < 26; i++) {
8+
sets[i] = new Set();
9+
}
10+
for (let s of ideas) {
11+
sets[s.charCodeAt(0) - 97].add(s.substring(1));
12+
}
13+
let same = [];
14+
for (let i = 0; i < 26; i++) {
15+
same[i] = Array(26).fill(0);
16+
}
17+
for (let i = 0; i < 26; i++) {
18+
for (let s of sets[i]) {
19+
for (let j = i + 1; j < 26; j++) {
20+
if (sets[j].has(s)) {
21+
same[i][j]++;
22+
}
23+
}
24+
}
25+
}
26+
let res = 0;
27+
for (let i = 0; i < 26; i++) {
28+
for (let j = i + 1; j < 26; j++) {
29+
res += (sets[i].size - same[i][j]) * (sets[j].size - same[i][j]) * 2;
30+
}
31+
}
32+
return res;
33+
34+
};

0 commit comments

Comments
 (0)