public boolean areSentencesSimilar(String[] words1, String[] words2, String[][] pairs) {
if (words1.length != words2.length) {
Map<String, Set<String>> synonyms = new HashMap<>();
for (String[] pair : pairs) {
synonyms.putIfAbsent(pair[0], new HashSet<>());
synonyms.get(pair[0]).add(pair[1]);
Set<String> emptySet = new HashSet<>();
for (int i = 0; i < words1.length; i++) {
if (!words1[i].equals(words2[i]) && !synonyms.getOrDefault(words1[i], emptySet).contains(words2[i])
&& !synonyms.getOrDefault(words2[i], emptySet).contains(words1[i])) {