-
Notifications
You must be signed in to change notification settings - Fork 42
/
solution.js
33 lines (31 loc) · 920 Bytes
/
solution.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/**
* @param {string[]} sentence1
* @param {string[]} sentence2
* @param {string[][]} similarPairs
* @return {boolean}
*/
var areSentencesSimilar = function (sentence1, sentence2, similarPairs) {
if (sentence1.length !== sentence2.length) {
return false;
}
const map = {};
for (let i = 0; i < similarPairs.length; i++) {
if (!map[similarPairs[i][0]]) {
map[similarPairs[i][0]] = {};
}
map[similarPairs[i][0]][similarPairs[i][1]] = true;
if (!map[similarPairs[i][1]]) {
map[similarPairs[i][1]] = {};
}
map[similarPairs[i][1]][similarPairs[i][0]] = true;
}
for (let i = 0; i < sentence1.length; i++) {
if (sentence1[i] === sentence2[i]) {
continue;
}
if (!map[sentence1[i]] || !map[sentence1[i]][sentence2[i]]) {
return false;
}
}
return true;
};