We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent e743adc commit aab5ca7Copy full SHA for aab5ca7
0318-maximum-product-of-word-lengths/0318-maximum-product-of-word-lengths.js
@@ -0,0 +1,25 @@
1
+/**
2
+ * @param {string[]} words
3
+ * @return {number}
4
+ */
5
+var maxProduct = function(words) {
6
+ let wordMap = new Map();
7
+ for (let i = 0; i < words.length; i++) {
8
+ let word = words[i];
9
+ let bitmask = 0;
10
+ words[i].split('').forEach(char => bitmask |= (1 << (char.charCodeAt(0) - 97)));
11
+ if (!wordMap.has(bitmask) || wordMap.get(bitmask) < word.length) {
12
+ wordMap.set(bitmask, word.length);
13
+ }
14
15
+ let maxProduct = 0;
16
+ let keys = Array.from(wordMap.keys());
17
+ for (let i = 0; i < keys.length; i++) {
18
+ for (let j = i + 1; j < keys.length; j++) {
19
+ if ((keys[i] & keys[j]) === 0) {
20
+ maxProduct = Math.max(maxProduct, wordMap.get(keys[i]) * wordMap.get(keys[j]));
21
22
23
24
+ return maxProduct;
25
+};
0 commit comments